我有4个项目:A,B,C和Common。
A,B,C使用Common中的一些java文件和一些XSD / XML文件。 A,B,C不应该彼此了解,而只能了解Common。 我需要在测试时找到每个项目中的Common文件(java和非java)。 我如何链接它们,以便我可以在例如找到文件。 A编写代码访问文件时?
以下是A和Common的POM:
Common:
<groupId>dk.myCompany.sa</groupId>
<artifactId>common</artifactId>
<version>0.0.3-SNAPSHOT</version>
<packaging>jar</packaging>
<name>common</name>
<url>http://maven.apache.org</url>
A
<groupId>dk.myCompany.sa</groupId>
<artifactId>A</artifactId>
<version>0.0.2-SNAPSHOT</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>dk.myCompany.sa</groupId>
<artifactId>common</artifactId>
<version>0.0.3-SNAPSHOT</version>
</dependency>
</dependencies>
答案 0 :(得分:1)
如果将Common作为依赖项添加,则Common的src/main/resources
文件夹中的所有文件都将位于A,B和C的类路径中。因此,只要您使用getResourceAsStream
加载文件(请参阅How to really read text file from classpath in Java),就可以访问这些文件。
答案 1 :(得分:0)
将A,B和C定义为Common's pom的模块:
-- common.pom
<groupId>dk.myCompany.sa</groupId>
<artifactId>common</artifactId>
<version>0.0.3-SNAPSHOT</version>
<packaging>jar</packaging>
<name>common</name>
<modules>
<module>A</module>
<module>B</module>
<module>C</module>
</modules>
您可能还需要为A,B和C定义清单文件,这些文件引用其类路径上的当前常见jar。