【问题标题】:Directory configuration while deploying java standalone program to Tomcat server将java独立程序部署到Tomcat服务器时的目录配置
【发布时间】:2016-04-18 02:00:09
【问题描述】:

我有一个 Maven 项目,在 Eclipse IDE 上工作。 我正在尝试通过从 Eclipse 导出 .war 文件并将其放到另一台机器上,将其部署到另一台具有 tomcat 服务器的 linux 机器上。

这是问题所在,当我通过 tomcat 服务器执行(?) .war 文件时,它会自动解压缩该文件并创建一个项目目录,但是我在 /src/main/resources 中的资源分布在 var/lib/tomcat7/webapps/{project-root}/WEB-INF/classes 和我要加载的原始代码上一些文件不再工作了

这是一个例子。

String currentDir = System.getProperty("user.dir");
File mappingdir = new File(currentDir + "/src/main/resources/mapping");
File f = new File(mappingdir + "/a.csv");   

结果

HTTP Status 500 - java.io.FileNotFoundException:  
/var/lib/tomcat7/src/main/resources/mapping/a.csv (No such file or directory)

因为,这个 .csv 文件已经不存在了。 它的位置是/var/lib/tomcat7/webapps/{project-root}/WEB-INF/classes/mapping/a.csv

在开发 java 独立代码时我应该如何更改目录 - 如果我考虑将其部署到 Web 服务器?


我的问题与这个问题非常相关。 Read file from /src/main/resources/

【问题讨论】:

标签: java eclipse maven tomcat directory


【解决方案1】:

在 java 应用程序中,所有源文件都放在 /WEB-INF/classes 文件夹中。要从资源中读取文件,您应该使用

BufferedReader reader = new BufferedReader(
                new InputStreamReader(getClass().getClassLoader().getResourceAsStream("mapping/a.csv")));

它也适用于独立的 Java 应用程序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-20
    • 2021-11-16
    • 2015-10-20
    • 2011-09-26
    相关资源
    最近更新 更多