Java EAR 的 EE 版本

Java EE version of an EAR

我如何知道从 Maven 构建生成的 EAR 的 Java EE 版本?我使用 Maven build 构建了一个 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?

你在这里混合了东西 - 依赖和打包。

首先,如果您打算使用 WebSphere,最好将 WebSphere 依赖项安装到您的本地存储库中,而不是添加不同的各种依赖项(您不需要为 WebSphere Liberty 安装依赖项,因为它们可以远程使用) .您可以在此处找到特定 WAS 版本的安装 po: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。对于JavaEE耳键设置是configuration里面的version元素。您需要提供默认为 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>