如何通过Java代码获取tomcat服务器的绝对路径
2017-06-12 21:39
736 查看
有时候我们可能会有这样的需求:获取tomcat的绝对路径,以便于进行一些其他的操作,看过很多老哥的方式大多都类似于这种:
①:
②:
上述两种方式的呢我先说第一种:第一种是获取Classpath的绝对路径。一般情况下是也可以间接获取到tomcat服务器的路径,但是有一种情况例外,当我们改变tomcat下面的配置文件server.xml的appBase地址时,情况就会发生变化。默认情况下为<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">这个属性表示当我们启动Tomcat时加载tomcat下面的工程项目。这个我们可以自定义,比如我们改成appBase="D:\webapps",这样当启动服务器时便会加载我们定义目录下的工程项目。所以如果自定义了appBase属性值的Test.class.getResource("/")
虽然还是可以定位到classpath的路径,但是已经很tomcat的路径没有什么关联了。
第二种方式呢,表示获取用户的当前工作目录,web项目中默认情况获取的值为/tomcat_home/bin/,我在windows和centos中测试的都没有什么问题,但是在Redhat中测试的结果却不是这样的,尤其是在我改了appBase属性之后。偏偏我的项目又需要在Redhat操作系统中跑,所以这一种方式只有放弃了。
最后呢,经过我的苦苦寻找,终于让找到一种比较合适的方式:
能够帮你准确的定位到tomcat绝对路径。注意在在windows和*inux中路径分隔符不一样,在window是\,在*inux中是/,千万需要注意这点。网络上许多老哥说最好不要用第二种方式,不然很可能会出现一些致命的错误,我们这些后车之师就不要再次犯错了.
希望这篇文章能够帮助到大家,谢谢~
①:
Test.class.getResource("/")
②:
System.getProperty("user.dir")
上述两种方式的呢我先说第一种:第一种是获取Classpath的绝对路径。一般情况下是也可以间接获取到tomcat服务器的路径,但是有一种情况例外,当我们改变tomcat下面的配置文件server.xml的appBase地址时,情况就会发生变化。默认情况下为<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">这个属性表示当我们启动Tomcat时加载tomcat下面的工程项目。这个我们可以自定义,比如我们改成appBase="D:\webapps",这样当启动服务器时便会加载我们定义目录下的工程项目。所以如果自定义了appBase属性值的Test.class.getResource("/")
虽然还是可以定位到classpath的路径,但是已经很tomcat的路径没有什么关联了。
第二种方式呢,表示获取用户的当前工作目录,web项目中默认情况获取的值为/tomcat_home/bin/,我在windows和centos中测试的都没有什么问题,但是在Redhat中测试的结果却不是这样的,尤其是在我改了appBase属性之后。偏偏我的项目又需要在Redhat操作系统中跑,所以这一种方式只有放弃了。
最后呢,经过我的苦苦寻找,终于让找到一种比较合适的方式:
System.getProperty("catalina.home")
能够帮你准确的定位到tomcat绝对路径。注意在在windows和*inux中路径分隔符不一样,在window是\,在*inux中是/,千万需要注意这点。网络上许多老哥说最好不要用第二种方式,不然很可能会出现一些致命的错误,我们这些后车之师就不要再次犯错了.
希望这篇文章能够帮助到大家,谢谢~
相关文章推荐
- java通过虚拟机设置参数的方式动态获取当前项目的绝对路径
- 不通用版(从SVN取版本,通过MAVEN生成JAVA包,通过SALTSTACK传送到远程服务器并自动重启TOMCAT服务)PYTHON代码
- JSP 部属Tomcat jsp嵌套Java代码 通过JDBC获取数据库表通过Java在JSP页面输出
- 如何通过Tomcat映射路径访问服务器上的文件?
- java如何获取服务器路径
- java中如何获取绝对路径和相对路径
- MyEclipse和tomcat如何配置让修改了Java代码后不用重启服务器
- 转:如何从普通Java类中获取WEB-INF目录绝对路径
- JAVA 一个简单的文件写入代码(遍历文件夹获取所有文件、写入缓冲池、获取文件绝对路径、按后缀名过滤文件)
- Java上传图片到服务器路径获取系列之--图片保存到Tomcat的webapps目录下
- 通过Java代码获取Zookeeper服务器状态
- java如何从一段html代码中获取图片的src路径
- JSP获取绝对路径(java代码)
- JAVA获取tomcat的绝对路径
- java如何从一段html代码中获取图片的src路径
- Android如何通过URI获取文件路径示例代码
- JAVA_WEB项目中响应端获取文件路径的方式(tomcat服务器)
- c++代码通过JNI调用Java代码时用到的签名信息如何获取
- MyEclipse和tomcat如何配置让修改了Java代码后不用重启服务器 - jingyunyb
- Java/js获取服务器相对/绝对路径总结(转)