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

问题描述 投票:0回答:2

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

项目A(包含主类):/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,主类:Main [ClassPath] => UserEntry:项目A,项目B

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

你可以帮帮我吗?

java eclipse getresource
2个回答
0
投票

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


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.