这是我在TOMCAT中部署的项目路径 - d:\ PMT \ Apache的Tomcat的7.0.53 \ web应用\ MyProject的
如何获得我的项目在tomcat中部署的绝对路径
我使用 System.getProperty("catalina.home")
,但它只返回:
D:\PMT\apache-tomcat-7.0.53\
帮助我!
答案 0 :(得分:1)
使用ServletContext.getRealPath(String)
来自Servlet文档
获取与给定虚拟路径对应的真实路径。
例如,如果path等于/index.html,则此方法将返回 请求的服务器文件系统上的绝对文件路径 形式为http://://index.html的形式 映射,其中对应于此的上下文路径 ServletContext中。
返回的真实路径将采用适合计算机的形式 以及运行servlet容器的操作系统, 包括正确的路径分隔符。
答案 1 :(得分:0)
使用系统属性 catalina.base 要好得多,因为Tomcat的启动脚本 catalina.sh 会设置此属性。因此,只要您不尝试在其他服务器上运行应用程序,这将有效。
File catalinaBase = new File( System.getProperty( "catalina.base" ) ).getAbsoluteFile();
File propertyFile = new File( catalinaBase, "webapps/strsproperties/strs.properties" );
InputStream inputStream = new FileInputStream( propertyFile );