无法在eclipse中使用Class.getResource从多个项目中的同一目录访问资源

时间:2014-09-15 21:38:07

标签: java eclipse getresource

我使用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。

你能帮帮我吗?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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