1
我得到了一个简单的maven项目,但几个小时却失败地让它失败。该项目包含1个父模块和2个子模块(一个用于耳朵包装,另一个用于ejb)。建筑工程成功,但耳朵包装只是不能按预期工作:使用Maven无法正确地获取EAR包结构
<project>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>at.betrieb.projekt</groupId>
<artifactId>extended</artifactId>
<version>1.0</version>
</parent>
<artifactId>extended-ear</artifactId>
<packaging>ear</packaging>
<dependencies>
<dependency>
<groupId>at.betrieb.projekt</groupId>
<artifactId>extended-ejb</artifactId>
<version>1.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ear-plugin</artifactId>
<version>2.7</version>
<configuration>
<version>6</version>
<generateApplicationXml>false</generateApplicationXml>
<defaultLibBundleDir>lib</defaultLibBundleDir>
<jarModule>
<groupId>at.betrieb.projekt</groupId>
<artifactId>extended-ejb</artifactId>
<bundleDir>/</bundleDir>
</jarModule>
</configuration>
</plugin>
</plugins>
</build>
</project>
现在,当我看着打包文件夹我看到这个结构:
|-lib
extended-ejb-1.0.jar
activation-1.1.jar
javaee-api-7.0.jar
javax.mail-1.5.0.jar
|-META-INF
application.xml
我预计然而什么是这个结构:
|-extended-ejb-1.0.jar
|-lib
activation-1.1.jar
javaee-api-7.0.jar
javax.mail-1.5.0.jar
|-META-INF
application.xml
所以基本上我想ejb以外的其他库。这些其他3个库来自ejb-module,它需要javaee-api
依赖关系进行注释。不幸的是,它也收集了可传递的javax.mail.jar,activation.jar。
现在我真的不知道为什么结构不能按预期的方式工作,无论如何我试图按照this guide step by step。