无法在NetBeans IDE 12.6中创建企业应用程序

r6vfmomb  于 2022-11-10  发布在  其他
关注(0)|答案(2)|浏览(152)

当我尝试使用向导(Ant项目)创建企业应用程序时,出现以下错误

java.lang.NullPointerException: Cannot invoke "org.netbeans.modules.j2ee.dd.api.application.Application.setDisplayName(String)" because "this.application" is null
at org.netbeans.modules.j2ee.earproject.ProjectEar.setupDDFromVirtual(ProjectEar.java:290)
at org.netbeans.modules.j2ee.earproject.ProjectEar.getApplication(ProjectEar.java:255)
at org.netbeans.modules.j2ee.earproject.ui.wizards.NewEarProjectWizardIterator.testableInstantiate(NewEarProjectWizardIterator.java:160)
at org.netbeans.modules.j2ee.earproject.ui.wizards.NewEarProjectWizardIterator.instantiate(NewEarProjectWizardIterator.java:139)
at org.openide.loaders.TemplateWizard$InstantiatingIteratorBridge.instantiate(TemplateWizard.java:1048)
at org.openide.loaders.TemplateWizard.handleInstantiate(TemplateWizard.java:602)
at org.netbeans.modules.project.ui.NewProjectWizard.handleInstantiate(NewProjectWizard.java:51)
at org.openide.loaders.TemplateWizard.instantiateNewObjects(TemplateWizard.java:436)
at org.openide.loaders.TemplateWizardIterImpl.instantiate(TemplateWizardIterImpl.java:228)
at org.openide.loaders.TemplateWizardIteratorWrapper$ProgressInstantiatingIterator.instantiate(TemplateWizardIteratorWrapper.java:155)
at org.openide.WizardDescriptor.callInstantiateOpen(WizardDescriptor.java:1602)
at org.openide.WizardDescriptor.callInstantiate(WizardDescriptor.java:1546)
at org.openide.WizardDescriptor.access$2300(WizardDescriptor.java:67)
[catch] at org.openide.WizardDescriptor$Listener$2$1.run(WizardDescriptor.java:2233)
at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1418)
at org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:45)
at org.openide.util.lookup.Lookups.executeWith(Lookups.java:278)
at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2033)

当然,向导中的所有字段都是填充的。但是,分别创建WAR和EJB时不会出现错误。只有在创建EAR时才会出现错误,即使它是空的。
使用了

  • NetBeans 12.6版
  • Windows 10操作系统
  • GlassFish服务器6.2.1
  • Java 17语言

所有路径拼写正确,已设置对目录的读/写权限
Screen

gojuced7

gojuced71#

我可以重现您的问题,并且已经引发了NetBeans Bug Report 5953“无法创建新的企业应用程序(使用Ant创建Java)(仅当选择JakartaEE 9时)-抛出NPEs”
错误报告未解决,但问题仅在创建Jakarta EE 9企业应用程序时发生。我仅通过从向导内的Java EE版本下拉列表中选择 *Jakarta EE 8 *,就成功创建了Jakarta EE 8企业应用程序。
您有几种方法可以解决这个问题,但没有一种方法是好的:

  • 等待NetBeans修复问题。绝对不推荐!
  • 如果您不需要EE 9功能,则使用Ant向导创建Jakarta EE 8企业应用程序。
  • 使用Ant向导创建一个Jakarta EE 8企业应用程序,然后“破解”生成的项目以使用EE 9。
  • 请使用另一个正确支持此功能的IDE。
  • 在另一个IDE中创建EE 9企业应用程序,然后将项目导入NetBeans.

使用Maven或Gradle而不是Ant,因为构建工具也没有帮助:

  • 我在使用Jakarta EE 8或Jakarta EE 9时无法创建Maven企业应用程序,尽管我没有研究原因。
  • 在使用Gradle时,项目向导甚至不提供 “企业应用” 选项。

备注:

需要弄清楚Web应用程序(Ant、Maven和Gradle中)在Java EE支持方面是否不够,即,我们是否需要企业应用程序和EJB特定的项目类型,如果不需要,让我们删除它们。

62lalag4

62lalag42#

它与jakarta EE 9一起使用,前提是您执行以下操作:
所有pom.xml文件中的插件版本:
maven编译器插件3.9.0
maven战争插件3.3.2
maven依赖性插件3.2.0
在-ejb的pom.xml文件中,将打包war更改为jar。
然后道:
按以下顺序进行清理和构建:
顶部、ejb、腹板和耳部。
就这样了。

相关问题