Java 使用WebLogic获取当前EAR路径

Java 使用WebLogic获取当前EAR路径,java,weblogic,ear,Java,Weblogic,Ear,在我的源代码中,我希望以编程方式获取当前EAR的最后修改日期,从中部署我的代码。 我正在使用Oracle WebLogic。 我怎么能这么做 Thx对于您的答案您可以检查文件属性或查看EAR中的MANIFEST.MF。我建议退后一步,看看您试图解决的问题,Eric 您想知道应用程序是何时生成的,还是已部署的应用程序的特定版本?如果是这样的话,最好在构建过程中加入一些东西来设置它。理想情况下,是用于打包应用程序的特定组件版本的清单 如果您想知道应用程序是何时由管理员第一次部署的,或者是最近一次部署

在我的源代码中,我希望以编程方式获取当前EAR的最后修改日期,从中部署我的代码。 我正在使用Oracle WebLogic。 我怎么能这么做


Thx对于您的答案

您可以检查文件属性或查看EAR中的MANIFEST.MF。

我建议退后一步,看看您试图解决的问题,Eric

您想知道应用程序是何时生成的,还是已部署的应用程序的特定版本?如果是这样的话,最好在构建过程中加入一些东西来设置它。理想情况下,是用于打包应用程序的特定组件版本的清单

如果您想知道应用程序是何时由管理员第一次部署的,或者是最近一次部署的,那么这将变得更加棘手。依靠文件系统来解决这个问题是一个坏主意,因为无论WebLogic服务器在做什么,您都要听天由命,这显然有点不透明

如果您确实需要这样做,WebLogic Server的标准暂存行为会将文件的一个版本放在每个服务器实例的特定子目录中,然后很快将其分离。(它是域的根目录下的“servers//stage”子目录($domain\u HOME)$domain\u HOME是运行时所有服务器进程的当前目录,因此相对路径应该可以正常工作

这将为您提供在网络上部署该文件的时间,但您肯定希望通过重新启动服务器实例来测试观察到的行为

问题是,它没有提供任何您无法通过构建过程或部署过程中的WLST脚本更优雅地确定的内容

如果这是最后一次部署应用程序本身(无论版本如何),那么应用程序生命周期事件侦听器肯定是最好的方法。不幸的是,没有MBean可以为您提供单个应用程序的正常运行时间

这里有一个关于生命周期侦听器的很好的参考:


Thx,但主要的挑战是检索此耳朵路径…我如何才能做到这一点?