为什么 Netbeans 中干净的 Maven 项目无法运行

问题描述 投票:0回答:1

我正在设置一个本地实例来运行 Java Web 应用程序。我已经有一段时间没有这样做了,但我过去已经这样做过。到目前为止,我所做的就是在本地计算机上安装 JDK 22.0.2 和 Netbeans 22。我使用 Maven Web 应用程序创建了一个新的 Netbeans 项目 Java。对于我的服务器,我安装了 Apache Tomcat 9,并为我的 Java EE 版本选择 Jakarta EE 8 Web,我假设这是最新的,但这里是所有可用选项的屏幕截图。 Java EE Version Options

此后,我单击“完成”并创建新项目。只是为了确保一切正常,我运行了该项目,但出现以下错误。


构建失败

总时间:24.932秒 完成于:2024-07-26T11:26:49-04:00

无法在项目UnitConverter上执行目标org.apache.maven.plugins:maven-war-plugin:2.3:war (default-war):执行目标org.apache.maven.plugins:maven-war-plugin的default-war :2.3:war 失败:由于 API 不兼容,无法加载插件 'org.apache.maven.plugins:maven-war-plugin:2.3' 中的 mojo 'war':org.codehaus.plexus.component.repository。异常。ComponentLookupException:null

领域 = 插件>org.apache.maven.plugins:maven-war-plugin:2.3 策略 = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy urls[0] = 文件:/C:/Users/LauXi/.m2/repository/org/apache/maven/plugins/maven-war-plugin/2.3/maven-war-plugin-2.3.jar urls1=文件:/C:/Users/LauXi/.m2/repository/org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.jar urls[2] = 文件:/C:/Users/LauXi/.m2/repository/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha- 7.jar urls[3] = 文件:/C:/Users/LauXi/.m2/repository/commons-cli/commons-cli/1.0/commons-cli-1.0.jar urls[4] = 文件:/C:/Users/LauXi/.m2/repository/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4。罐 urls[5] = 文件:/C:/Users/LauXi/.m2/repository/org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.jar urls[6] = 文件:/C:/Users/LauXi/.m2/repository/org/codehaus/plexus/plexus-io/2.0.5/plexus-io-2.0.5.jar urls[7] = 文件:/C:/Users/LauXi/.m2/repository/org/codehaus/plexus/plexus-archiver/2.2/plexus-archiver-2.2.jar urls[8] = 文件:/C:/Users/LauXi/.m2/repository/org/codehaus/plexus/plexus-interpolation/1.15/plexus-interpolation-1.15.jar urls[9] = 文件:/C:/Users/LauXi/.m2/repository/junit/junit/3.8.1/junit-3.8.1.jar urls[10] = 文件:/C:/Users/LauXi/.m2/repository/com/thoughtworks/xstream/xstream/1.4.3/xstream-1.4.3.jar urls[11] = 文件:/C:/Users/LauXi/.m2/repository/xmlpull/xmlpull/1.1.3.1/xmlpull-1.1.3.1.jar urls[12] = 文件:/C:/Users/LauXi/.m2/repository/xpp3/xpp3_min/1.1.4c/xpp3_min-1.1.4c.jar urls[13] = 文件:/C:/Users/LauXi/.m2/repository/org/codehaus/plexus/plexus-utils/3.0.8/plexus-utils-3.0.8.jar urls[14] = 文件:/C:/Users/LauXi/.m2/repository/org/apache/maven/shared/maven-filtering/1.0-beta-2/maven-filtering-1.0-beta-2.jar 国外进口数量:1 导入:Entry[从领域ClassRealm导入[maven.api,父级:null]]


:ExceptionInInitializerError:无法使字段私有最终java.util.Comparator java.util.TreeMap.comparator可访问:模块java.base不会“打开java.util”到未命名模块@1dd64243 -> [帮助1]

要查看错误的完整堆栈跟踪,请使用 -e 开关重新运行 Maven。 使用 -X 开关重新运行 Maven 以启用完整的调试日志记录。

有关错误和可能的解决方案的更多信息,请阅读以下文章: [帮助 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginContainerException

我读了很多帖子和文章,但似乎没有人知道为什么一个全新的项目会发生这种情况。任何想法将不胜感激。

java maven jakarta-ee netbeans
1个回答
0
投票

您正在使用旧版本的 Jakarta EE 和最新的 JDK。尝试使用最新版本以实现兼容性。根据 https://en.wikipedia.org/wiki/Jakarta_EE

  • Jakarta EE 10 与 JDK 11 和 JDK 17 兼容。
  • Jakarta EE 11 将与 JDK 21 兼容。

还可以使用 JDK LTS 版本,例如 JDK 11、17 和 21。JDK 22 是短期支持版本,仅支持几个月。

© www.soinside.com 2019 - 2024. All rights reserved.