![](/img/trans.png)
[英]Difference between an Enterprise application project and a Web project application in Netbeans IDE
[英]Unable to create Enterprise application in NetBeans IDE 12.6
当我尝试使用向导(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 错误报告 5953 “不可能创建新的企业应用程序(带有 Ant 的 Java)(仅在选择 JakartaEE9 时)-抛出 NPE” 。
错误报告未解决,但该问题仅在创建 Jakarta EE 9 企业应用程序时出现。 我只需从向导中的Java EE 版本下拉列表中选择Jakarta EE8即可成功创建 Jakarta EE 8 企业应用程序。
你有几个选项可以解决这个问题,但没有一个是好的:
使用 Maven 或 Gradle 代替 Ant 作为构建工具也无济于事:
笔记:
Need to figure out whether maybe Web Applications (in Ant, Maven, and Gradle) might not be enough in terms of Java EE support, ie, do we need Enterprise Applications and EJB-specific project types, if not, let's remove them.
它适用于 jakarta EE9,前提是您执行以下操作:
所有 pom.xml 文件中的插件版本:
maven 编译器插件 3.9.0
Maven 战争插件 3.3.2
maven 依赖插件 3.2.0
在 -ejb- 的 pom.xml 文件中将打包战改为 jar。
然后:
按以下顺序清理和构建:
顶部,ejb,web 和耳朵。
就这样。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.