【问题标题】:Can't access resources from same directory in several projects with Class.getResource in eclipse无法在 Eclipse 中使用 Class.getResource 访问多个项目中的同一目录中的资源
【发布时间】:2014-11-09 12:37:59
【问题描述】:

我使用 maven 从多个项目创建一个可运行的 jar:

项目 A(包含 Main 类): /src/main/resources/META-INF/resources/a.txt

项目 B(取决于项目 A): /src/main/resources/META-INF/resources/b.txt

Runnable.jar(使用 mvn 创建): /src/main/resources/META-INF/resources/a.txt,/src/main/resources/META-INF/resources/b.txt

在 Main 类中,我使用 Class.class.getResource 来获取 a.txt 和 b.txt 的内容。 当我做java -jar Runnable.jar 时,我可以访问a.txt 和b.txt。但是如果我从 Eclipse 运行它,我只能访问 a.txt 。有可能做对吗?我想在应用程序运行时更改资源内容并在不重新编译的情况下获得结果。

运行配置: [MAIN] => 项目:项目 B,主类:主 [ClassPath] => UserEntry : 项目 A,项目 B

注意:如果我更改 UserEntry 的顺序,我可以访问 b.txt 但不能访问 a.txt。

你能帮帮我吗?

【问题讨论】:

    标签: java eclipse getresource


    【解决方案1】:

    项目 B 需要添加到项目 A 的Java Build Path。打开项目 A 的属性对话框并执行此操作。

    【讨论】:

    • 在哪个标签上? 厌倦了 cmets 的这种长度要求
    • 对不起,我更改了问题的内容,而不是使用评论来使问题更准确。我不知道这是用法还是我必须回答自己的问题才能提供更多详细信息。
    【解决方案2】:

    我找到了解决方案。我在项目 B (B/src/main/resources-a) 中创建了一个链接资源文件夹,它引用了项目 A 的资源目录 (A/src/main/resources)。我将新的链接文件夹设置为源目录。现在它可以工作了,我可以在项目 B 的目标/类文件夹中看到项目 A 中包含的资源。这正是我所期望的,但如果我想自动配置 .project 和 .classpath 文件?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-28
      • 1970-01-01
      • 1970-01-01
      • 2012-04-02
      相关资源
      最近更新 更多