我有一个带有几个模块(jars& ejb)的Java EE 6 EAR项目。使用maven-ear-plugin组装EAR文件,我基本上希望所有工件被打包/未爆炸:
来自父文件的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>
来自ear文件的pom.xml
:
<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>
问题是described unpack-switch似乎完全被忽略了:
我正在使用Eclipse Helios / m2eclipse,但根据我的理解,对于这个问题,这应该不重要。
有人能把我推向正确的方向吗?
答案 0 :(得分:2)
我错误地认为Eclipse 不负责此问题。事实上,来自命令行的maven做了它应该做的事情,它只是“只是”m2-eclipse和jboss-tools的相当复杂的集成,似乎忽略了有问题的设置。
mvn package
完全做了它应该做的事情: - )
整整一周将基于ant的Java EE 5项目迁移到maven和Java EE 6教会了我,Eclipse中JBven上的Maven与命令行上的Maven有很大的不同......