我是Maven的新手,我正在将当前的EAR应用程序转换为Maven。这是一个多模块项目(ear,ejb,web,utility)。
某些实用程序模块依赖于其他实用程序模块。我不希望Maven将版本号添加到模块最终JAR中。所以在EAR的POM.XML
我使用<bundleFileName>
选项设置最终JAR的名称。问题是生成的MANIFEST.MF
模块文件是依赖的
在此模块上仍使用JAR文件名中的版本号。
知道我做错了什么吗?
以下是EAR的pom.xml
的摘录<jarModule >
<groupId>${project.parent.groupId}</groupId>
<artifactId>batch</artifactId>
<bundleFileName>batch.jar</bundleFileName>
</jarModule >
以下是模块的pom.xml
的摘录<dependency>
<groupId>${project.parent.groupId}</groupId>
<artifactId>batch</artifactId>
<version>${project.parent.version}</version>
<type>jar</type>
</dependency>
<build>
<finalName>util</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
结果util的MANIFEST.MF包含batch-1.0.jar 但我希望它包含如EAR的pom.xml
中提到的batch.jar答案 0 :(得分:0)
当您发布此耳朵时,您将使用相同版本部署这些模块吗?
如果是,那么你可以使用它:
例如:项目结构:
-EAR
pom.xml
--web-module
pom.xml
--ejb-module
pom.xml
想象一下,web模块具有ejb模块依赖性,那么你可以在web模块项目中添加这种依赖:
<dependency>
<groupId>your.groupId</groupId>
<artifactId>your.groupId</artifactId>
<version>${project.version}</version>
</dependency>
希望它有所帮助。