如何从Maven构建中了解生成的EAR的Java EE版本?我使用Maven构建了一个EAR,并添加了J2ee依赖
<dependency>
<groupId>com.ibm.websphere</groupId>
<artifactId>j2ee</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
pom.xml中的。 如何确保生成的EAR是Java EE版本6?
答案 0 :(得分:1)
你正在混淆这里的东西 - 依赖和包装。
首先,如果您计划使用WebSphere,最好将WebSphere依赖项安装到本地存储库中,而不是添加不同的各种依赖项(您不需要为远程可用的WebSphere Liberty安装依赖项) 。您可以在此处找到特定WAS版本的安装poms:http://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/maven/repository/com/ibm/tools/target/
然后在web或ejb项目中添加这样的依赖项:
<dependency>
<groupId>com.ibm.tools.target</groupId>
<artifactId>was</artifactId>
<version>8.5.5</version>
<type>pom</type>
<scope>provided</scope>
</dependency>
或者使用IBM WebSphere repository中提供的一个预配置原型来为WebSphere创建web / ejb应用程序。
对于包装,您可以使用maven-ear-plugin
,如下所示。对于Java EE,耳密钥设置是version
内的configuration
元素。您需要提供一个默认值为1.3。
<plugin>
<artifactId>maven-ear-plugin</artifactId>
<version>2.8</version>
<configuration>
<generateApplicationXml>false</generateApplicationXml>
<version>6</version>
<defaultLibBundleDir>lib</defaultLibBundleDir>
<archive>
<addMavenDescriptor>false</addMavenDescriptor>
</archive>
<modules>
<webModule>
<groupId>helloApp</groupId>
<artifactId>helloWeb</artifactId>
<contextRoot>/helloWeb</contextRoot>
</webModule>
</modules>
</configuration>
</plugin>