从Java Web Service中获取CATALINA_BASE属性

nic*_*sip 3 java log4j jax-ws tomcat7

亲爱的开发人员,

我正在努力改进我的Java Web服务,我正在尝试使用更精细的方法来获取Java Web Service中属性文件的目录路径.

为了使我的Java Web应用程序更易于部署在Apache Tomcat服务器上,我将以下行添加到web.xml文件中:

<env-entry>
    <env-entry-name>loggerPropertyFile</env-entry-name>
    <env-entry-type>java.lang.String</env-entry-type>
    <env-entry-value>/Some/Long/Directory/File/Path/Which/May/Change/conf/LoggerInfo.properties</env-entry-value>
</env-entry>
Run Code Online (Sandbox Code Playgroud)

正如上面的xml代码描述的那样,我在本地Filesystem中的某处放置了一个Properties文件,我希望我的Web Service根据该配置初始化其logger类.您可以意识到,每次将Web服务部署到另一台服务器时,此路径都会更改.因此,我发现我可以使用$ CATALINA_BASE属性,以使环境输入路径更小.如何从我的Java Web服务代码中检索CATALINA_BASE值(如何在Linux上完成以及如何在Windows上完成)?

谢谢.

Phi*_*der 6

尝试 System.getProperty("catalina.base");