我有一个简单的 maven 项目,但令人沮丧地失败了几个小时才能把它做好。该项目包含 1 个父模块和 2 个子模块(一个用于 ear-packaging,另一个用于 ejb)。构建成功,但耳塞只是没有按预期工作:
<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 模块,它需要javaee-api
注释的依赖项。不幸的是,它还收集了传递 javax.mail.jar、activation.jar。
现在我真的不知道为什么这个结构不能按预期工作,无论如何我试图一步一步地遵循这个指南。