Java Application Server工作目录

时间:2016-02-09 17:46:46

标签: java web-services tomcat jboss

我有一个java Web服务(.war文件),我部署到几个不同的环境,即Apache Tomcat 7.0.x和JBoss EAP 6.1.x.当我打开File对象(File file = new File("./test.file");)时,绝对路径根据我使用的应用程序服务器而不同。我通过调用file.getAbsolutePath()输出绝对路径。

对于Tomcat,它似乎在test.file目录中查找Tomcat/bin,但对于我的JBoss EAP实例,它会查找/test.file,即系统根目录。

这两个应用程序服务器中是否有一些配置参数或环境变量指示工作目录?

2 个答案:

答案 0 :(得分:0)

Tomcat使用CATALINA_HOME,
我对JBoss不太了解,
但我认为这使用了EAP_HOME和JBOSS_HOME

答案 1 :(得分:0)

webapp中的工作目录与servlet上下文相关。

它的正确性。 getAbsolutePath方法返回给路径的相应路径

见这里 https://docs.oracle.com/javase/7/docs/api/java/io/File.html#getAbsolutePath()

或此处例如

http://www.mkyong.com/java/how-to-get-the-filepath-of-a-file-in-java/

但是,如果你想要当前webapp的绝对路径,那么你可以试试这个:

What does servletcontext.getRealPath("/") mean and when should I use it