请考虑以下事项: 我有一个 csv 文件。这个文件存放在tomcat的wepapps目录下。该目录的路径取决于所使用的计算机。有些用户将他们的 Tomcat 使用不同的位置并使用不同的名称。我想实现以下目标。
通过 Spring 我做了以下事情: 我得到了一个将一些数据从 csv 导入数据库的操作。
<bean id="setCsvPathAction" class="custom.action.importcsv.SetCsvPathAction">
<property name="csvPath" value="C:/temp/test.csv"/>
</bean>
这对我来说很好用。为了使这条路径对其他人更易于配置,我得到了一个 system.properties 文件。使用此文件,您可以轻松覆盖属性:
setCsvPathAction.csvPath=#{tomcat_home}/webapps/test.csv
这就是我想要的。我希望路径位于 Tomcat webapps 目录中。以上不起作用。您对如何实现这一目标有任何提示吗?
最佳答案
大多数使用 tomcat 的人都会设置 CATALINA_HOME 环境变量。您可以查询此环境变量并检索值。
String tomcat_home = System.getenv("CATALINA_HOME");
if(tomcat_home){
setCsvPathAction.csvPath=tomcat_home+"/webapps/test.csv"
}
注意:不能保证在每个使用 tomcat 的系统上都设置了这个环境变量
更多关于 getenv() - http://docs.oracle.com/javase/7/docs/api/java/lang/System.html#getenv%28%29
关于java - 从不同 Tomcat 上的 Tomcat webapps 读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21096862/