在我的Maven项目中,有一个模块(核心)有几个类的资源。在模块内部运行类时,它可以获得自己的资源。一切正常。使用依赖关系的资源?
其中的东西中断是依赖于内核的另一个模块试图运行该类。 Java正在寻找资源的文件夹是此模块,而不是核心模块。所以班级失败了。
简而言之:如何访问依赖项的资源?
我已经试验,试图通过在核心的JAR清单Class-Path: .
声明来做到这一点。然而上市可用的资源时JSHookLoader.class.getClassLoader().getResources("");
(JSHookLoader是核心,如果这意味着什么),我得到:
Resource: W:\programming\quackbot-hg\impl\target\classes
File rebel.xml
Resource: W:\programming\maven-repo\org\quackbot\core\3.5-SNAPSHOT
File core-3.5-SNAPSHOT.jar
File core-3.5-SNAPSHOT.pom
File maven-metadata-local.xml
File _maven.repositories
这当然如我所料的JAR本身是在类路径复杂的事情,而不是目录JAR在
有什么建议吗?
回到这个项目我仍然有这个问题。其他指南已经讨论过使用maven-assembly-plugin和远程资源插件,但是所有模块都必须包含怪物插件XML,这是非常痛苦的。
为什么我不简化问题:如何将一个依赖关系JAR添加到资源列表中?
- core.jar在文件夹/资源下面有一些资源。运行core.jar我可以看到资源列表中的资源。
- impl.jar依赖于core.jar。一旦运行它/资源不在资源列表中,因此会造成严重破坏。
这应该很简单,但我该怎么做呢?我花了几个小时试图找出一个简单的干净的方式来做到这一点,但无济于事。
返回的结果感谢您发布您的解决方案!我有这个确切的问题,并找到了答案......但它是用maven术语写的,我正在努力破译它。 – CaffiendFrog 2014-01-28 23:06:05
使用此时请注意循环依赖关系。您可能会遇到困难。 – Michael 2017-12-04 17:47:30