当我尝试使用向导(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
2条答案
按热度按时间gojuced71#
我可以重现您的问题,并且已经引发了NetBeans Bug Report 5953“无法创建新的企业应用程序(使用Ant创建Java)(仅当选择JakartaEE 9时)-抛出NPEs”。
错误报告未解决,但问题仅在创建Jakarta EE 9企业应用程序时发生。我仅通过从向导内的Java EE版本下拉列表中选择 *Jakarta EE 8 *,就成功创建了Jakarta EE 8企业应用程序。
您有几种方法可以解决这个问题,但没有一种方法是好的:
使用Maven或Gradle而不是Ant,因为构建工具也没有帮助:
备注:
需要弄清楚Web应用程序(Ant、Maven和Gradle中)在Java EE支持方面是否不够,即,我们是否需要企业应用程序和EJB特定的项目类型,如果不需要,让我们删除它们。
62lalag42#
它与jakarta EE 9一起使用,前提是您执行以下操作:
所有pom.xml文件中的插件版本:
maven编译器插件3.9.0
maven战争插件3.3.2
maven依赖性插件3.2.0
在-ejb的pom.xml文件中,将打包war更改为jar。
然后道:
按以下顺序进行清理和构建:
顶部、ejb、腹板和耳部。
就这样了。