首页 > 解决方案 > 我的 JavaEE 或 JakartaEE 版本是什么?

问题描述

但是,我不清楚如何找到我的应用程序使用的 JavaEE 和/或 JakartaEE 版本。

如何找到我的应用正在使用的 JavaEE 或 JakartaEE 平台的版本? 我正在使用 Maven,但在我的 pom.xml 文件中看不到“javaee”或“jakartaee”之类的东西。

标签: jakarta-ee

解决方案


通常,如果您使用 maven 或 gradle 开发 JavaEE/JakartEE 应用程序,您将在 gradle 配置或 maven pom.xml 文件中依赖 javaEE/jakartaEE 依赖项。

由于我有更多使用 maven 的经验,我将使用一个 maven 示例进行详细说明。所以基本上你会有一个像这样的依赖:

        <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-api</artifactId>
            <version>7.0</version>
            <scope>provided</scope>
        </dependency>

使用 maven 您将需要它,因此它知道它需要依赖项才能解析 java-ee 功能。例如@Inject 注释,以及 CDI 注释和功能。

但是,由于您正在为其开发的应用程序服务器已经包含了这些 jar,因此您不希望此依赖项使用默认(=compile)范围,因为这会使您的应用程序变得不必要地大,并可能导致不同的类加载器出现问题。

我在各种项目中看到的另一个选项是,而不是直接向 javaee 添加依赖项,而是使用范围“import”导入应用程序的 bom(材料清单)并在您自己的 dependencyManagement 部分中键入“pom”庞。通常,此物料清单已在其中指定其支持的 javaee 版本。这使得在您的依赖项部分中使用所需的依赖项并省略版本以使您的版本与您的应用程序服务器同步变得容易。

因此,例如,如果您正在为 jboss 开发,您的依赖项可能如下所示:

    <dependencyManagement>
       <dependencies>
           <dependency>
               <groupId>org.wildfly.bom</groupId>
               <artifactId>wildfly-javaee8</artifactId>
               <version>17.0.1.Final</version>
               <type>pom</type>
               <scope>import</scope>
           </dependency>
        </dependencies>
     </dependencyManagement> 

仔细查看导入的 bom 中定义的依赖项,您将知道应用程序服务器提供的依赖项。

可在此处找到有关物料清单的更多信息


推荐阅读