【发布时间】:2014-12-04 11:51:32
【问题描述】:
我的 Java 项目被细分为单任务工件(由同事编写)和我自己开发的“收集器”工件,它们都使用 Maven 运行。
通常在我的 pom.xml 文件中是由几个依赖项组成的:
<dependencies>
<dependency>
<groupId>org.foo.project1</groupId>
<artifactId>project1</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>org.foo.project2</groupId>
<artifactId>project2</artifactId>
<version>1.5.2</version>
</dependency>
<dependency>
<groupId>org.foo.project3</groupId>
<artifactId>project3</artifactId>
<version>2.0.0</version>
</dependency>
</dependencies>
因此,例如 project2 不仅在 src/ 目录中包含 .class 文件包,在 resources/ 目录中包含 .xml 和其他内容,而且例如 resources/ 包含一些其他用于各种目的的文本文件(例如预设)。
我想在我的“收集器”工件的代码中处理其中一个物理文件。 这是因为在我的代码的某个点,我想调用来自“project2”类路径的类的方法,因此物理上来自“project2”JAR;
但是,虽然类层次结构可以调用,但附件文件却不行。如果在我的 Java 代码中我将我想使用的文件名作为“resources/name.txt”,JVM 认为在我的“收集器”工件资源/目录中搜索文件,这是错误的——我真的希望它指向 [project2.jar]/resources/name.txt。
如何正确寻址打包在project2 jar里面的文件?
谢谢一百万!
【问题讨论】: