java - 使用 mvn exec :java 时如何将 src/main/resources 添加到类路径

标签 java maven

我正在尝试运行以下应用程序,它试图从类路径加载文件 (src/main/resources/test.txt):

package com.example;

public class Main {
    public static void main(String[] args) {
        System.out.println(Main.class.getResource("test.txt"));
    }
}

当我执行 mvn exec:java -Dexec.mainClass=com.example.Main 时,我在命令行上打印出 null

那么如何将 src/main/resources 中的文件添加到类路径中呢?请注意,我运行了 mvn package,检查了生成的 target/test.jar,并确认它在顶层包含了 test.txt

最佳答案

一个斜杠应该可以解决

System.out.println(Main.class.getResource("/test.txt"));

如果您将 test.txt 文件放在以下位置,您的代码将有效:

src/main/resources/com/example

关于java - 使用 mvn exec :java 时如何将 src/main/resources 添加到类路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14045214/

相关文章:

java - 合并 2 个列表并在匹配后设置值

java - java中静态方法不能通过引用变量访问

java - StringBuilder 类似PreparedStatement

java - 从 JavaFX 中的另一个 Controller 访问字段

java - Dropwizard 示例包编译错误

java - Java内存分配异常

java - 在docker中使用外部jar依赖

plugins - 仅在maven-war-plugin中复制修改的文件

java - spring bean配置文件放在什么位置

java - 使用 Gitlab CI 和 Junit 测试媒体播放器