Java maven ear插件忽略模块的解包选项
我有一个JavaEE6EAR项目,其中包含两个模块(jars和ejb)。使用maven EAR插件组装EAR文件,我基本上希望所有工件都打包/未爆炸: 从父文件的Java maven ear插件忽略模块的解包选项,java,jakarta-ee,maven,ear,Java,Jakarta Ee,Maven,Ear,我有一个JavaEE6EAR项目,其中包含两个模块(jars和ejb)。使用maven EAR插件组装EAR文件,我基本上希望所有工件都打包/未爆炸: 从父文件的pom.xml: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-ear-plugin</artifactId> <version>2.5</versio
pom.xml
:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ear-plugin</artifactId>
<version>2.5</version>
<inherited>true</inherited>
<configuration>
<encoding>UTF-8</encoding>
<version>5</version>
<generateApplicationXml>true</generateApplicationXml>
<defaultLibBundleDir>lib</defaultLibBundleDir>
<archive>
<manifestEntries>
<app-version-info>${app-version-info}</app-version-info>
</manifestEntries>
</archive>
</configuration>
</plugin>
问题在于,这一点似乎被完全忽略了:
- poc-common.jar(unpack=true)已打包
- poc-persistence.jar(未定义解包)已打包
- poc-business.jar(unpack=false)被分解
有人能把我推向正确的方向吗?我错误地认为Eclipse不对这个问题负责。事实上,来自命令行的maven做了它应该做的事情,它“只是”m2 eclipse和jboss工具的相当复杂的集成,似乎忽略了所讨论的设置
mvn包
完全做到了它应该做的事情:-)
整整一周的时间将一个基于ant的JavaEE5项目迁移到maven和JavaEE6,让我明白了Eclipse中JBoss上的maven与命令行上的maven完全不同
<build>
<plugins>
<plugin>
<artifactId>maven-ear-plugin</artifactId>
<version>2.5</version>
<configuration>
<finalName>heap-poc</finalName>
<modules>
<jarModule>
<groupId>com.example.heap</groupId>
<artifactId>poc-common</artifactId>
<bundleFileName>poc-common.jar</bundleFileName>
<unpack>true</unpack>
<includeInApplicationXml>true</includeInApplicationXml>
</jarModule>
<jarModule>
<groupId>com.example.heap</groupId>
<artifactId>poc-persistence</artifactId>
<bundleFileName>poc-persistence.jar</bundleFileName>
<includeInApplicationXml>true</includeInApplicationXml>
</jarModule>
<ejbModule>
<groupId>com.example.heap</groupId>
<artifactId>poc-business</artifactId>
<unpack>false</unpack>
<bundleFileName>poc-business.jar</bundleFileName>
</ejbModule>
</modules>
</configuration>
</plugin>
</plugins>
</build>