java - 从不同 Tomcat 上的 Tomcat webapps 读取文件

标签 java spring tomcat csv

请考虑以下事项: 我有一个 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/

相关文章:

java - 从intellij-idea导入代码风格格式化设置到eclipse

java - 如何创建一个对象来启动一个与我的程序一起运行的线程?

java - Spring Boot - Spring Boot Starter Actuator 的问题

Tomcat 部署错误

java - log4j2 的 idlePurgePolicy 在容器中不起作用

java - Hibernate - EntityManager 管理

java - 使用JRuby直接调用Android Java方法

java - Spring事务管理测试

spring - 如何在Spring OAuth2资源服务器中使用自定义UserDetailSservice?

macos - 有没有人设置tomcat来使用mod_jk运行虚拟主机