【问题标题】:How to read a file which has been excluded from resources folder in Maven's POM.xml如何读取已从 Maven 的 POM.xml 中的资源文件夹中排除的文件
【发布时间】:2017-03-24 10:31:53
【问题描述】:

我在这里需要帮助。我的资源文件夹中的文件很少,它们在应用程序运行时很有用,而且也是静态的,但是,如果需要添加/删除更多数据,其中一个文件是用户相关的。所以,我从我的 POM.xml 中的资源文件夹中排除了这个文件,如下所示:-

        <excludes>
            <exclude>**/inputdata.csv</exclude>
        </excludes>

所以,现在 maven 创建了 Jar 文件,这个文件不是那个 JAR 文件的一部分。当我在 Eclipse 中运行程序时,Eclipse 会继续读取这个资源文件,因为它仍然位于资源文件夹中。但是,JAR 文件无法运行,因为它无法在任何地方找到此文件。

这是我的问题 - 我在哪里存储此文件,以便 Eclipse 也照常运行,我的 JAR 文件也是如此,并且它保留在我的 JAR 文件之外,以便可以在需要时对其进行编辑。

【问题讨论】:

  • “Eclipse 也运行这个 jar 是什么意思?你的意思是从 Eclipse 运行测试吗?

标签: java maven resources


【解决方案1】:

也许尝试将文件位置设置为 main 方法的参数.. 如果这个文件在运气方面很关键,抛出一个 RuntimeException

【讨论】:

    【解决方案2】:

    在 java 类路径中指定文件位置,例如 java -cp "C:\inputdata.csv" myjar.jar

    【讨论】:

    • 好的,那么接下来的步骤是什么?
    • @BharatNanwani 一旦 csv 在您的类路径中以上述方式可用,您可以使用 getResourceAsStream() 加载它
    猜你喜欢
    • 2019-10-16
    • 2021-01-07
    • 2018-04-01
    • 1970-01-01
    • 2018-04-05
    • 2020-08-05
    • 2018-11-02
    • 2017-05-18
    相关资源
    最近更新 更多