jh3*_*314 2 java tomcat servlets
在我的Tomcat servlet中,我使用的是一个查找某些.properties文件的jar库System.getProperty("user.dir").
问题是,当我在不同的服务器上部署servlet时,它"user.dir"是不同的.我希望他们是一样的.有没有办法配置这个目录,以便它对每个服务器是相同的?
我也跑了catalina.sh version,"user.dir"目录没有出现在输出中(包括CATALINA_BASE和CATALINA_HOME),这很奇怪.某些服务器会发生这种情况.在其他服务器上,"user.dir"匹配CATALINA_BASE.
你可以设置该属性手动修改̶ ?c?a?t?a?l?i?n?a?.?s?h?̶并将其设置̶t̶h̶e̶r̶e̶.̶但这种方法会非常̶c̶o̶m̶b̶e̶r̶s̶o̶m̶e̶因为你必须设置值的手动从此文件夹中的每个TOMCAT̶i̶n̶s̶t̶a̶l̶l̶a̶t̶i̶o̶n̶.̶
这里的段落是错误的.这是因为我天真地忘记了"user.dir"属性是执行Java的工作文件夹(此处显示的示例),并且在执行JVM时甚至不能使用-D属性进行更改.如果要更改值"user.dir",则必须更改Java执行的文件夹以启动tomcat,这可能很容易或很难,具体取决于您的技能,我不建议将此方法作为解决方案.
A̶n̶o̶t̶h̶e̶r̶̶o̶p̶t̶i̶o̶n̶最好的选择是在方法中定义一个ServletContextListener并在那里设置一个新属性(以及作为特定文件夹的值)contextInitialized.然后,在任何servlet中,您应该恢复此属性.
| 归档时间: |
|
| 查看次数: |
2611 次 |
| 最近记录: |