栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何使用Java从linux环境中获取tomcat中当前目录的相对路径

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使用Java从linux环境中获取tomcat中当前目录的相对路径

您的问题是您不知道“当前”目录是什么。如果您将Tomcat作为服务启动在Linux上,则当前目录可以是任何目录。因此,

newFile(".")
您将在文件系统中获得一个随机位置。

使用system属性

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 );

如您所见,该代码不会混合字符串和文件。文件是文件,字符串只是文本。避免使用文本作为代码。

接下来,我要

getAbsoluteFile()
确保在异常中得到有用的路径。

还要确保您的代码不会吞下异常。如果您可以在代码中看到错误消息,则可以立即看到该代码试图在错误的位置查找。

最后,这种方法很脆弱。如果路径更改,使用其他Web服务器以及许多其他情况,您的应用程序就会中断。

考虑将webapp扩展

strsproperties
为接受HTTP请求。这样,您可以将应用程序配置为
strsproperties
通过URL
连接。这对于任何Web服务器都适用,您甚至可以将属性放在其他主机上。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/410665.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号