当前位置: 首页 > 知识库问答 >
问题:

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

魏安然
2023-03-14

当我尝试使用向导(蚂蚁项目)创建企业应用程序时,我得到以下错误

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时发生,即使EAR为空。

使用

  • NetBeans 12.6
  • Windows 10 OS
  • Glassfish服务器6.2.1
  • Java17

所有路径均正确拼写,并设置了对目录的读/写权限

屏幕

共有1个答案

公良运锋
2023-03-14

我可以重现你的问题,并且NetBeans错误报告5953“创建一个新的企业应用程序(用蚂蚁Java)不可能(只有在选择JakartaEE9时)-抛出的NPEs”已经提出。

错误报告尚未解决,但问题仅在创建Jakarta EE 9企业应用程序时出现。通过在向导中从JavaEE版本下拉列表中选择JakartaEE8,我成功地创建了一个JakartaEE8企业应用程序。

您有几个选项可以解决此问题,但没有一个是好的:

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

使用Maven或Gradle代替Ant作为构建工具也无济于事:

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

注意事项:

  • NetBeans 13将于下月发布,但我认为这个问题不会得到解决。
  • 另请参阅2019年仍未解决的(不祥的)错误报告NETBEANS-2871 Resolve Enterprise Application support:

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

 类似资料:
  • 由企业内部开发的应用,可连接企业内部系统,仅能在本企业内使用 1、进入企业管理平台-应用中心,创建应用 2、填写应用基本信息 3、从通讯录中选择应用可见范围,应用仅会出现在可见范围内员工的客户端上

  • 问题内容: 如果我的Web应用程序和ejb应用程序在同一台机器上(在同一JVM上),并且所有ejb调用都是本地调用,那么在将信息从Web传递到ejb时,使用create会不会出现问题? 如果ejb呼叫是远程的,有什么解决方法?将信息可以从Web应用程序到EJB应用程序?在这种情况下建议使用吗? 问题答案: 对于第一个问题,只要在每次调用结束时都删除ThreadLocal变量,就没有问题。这很重要,

  • 通过调用API接口,将企业已有应用接入企业微信,并展示在工作台中,供成员使用。 创建应用 1 / 创建新的应用 01/02在【管理后台】>【企业应用】> 【自建应用】中选择【+创建应用】。 02/02完成应用logo/应用名称/应用介绍/可见范围等基本设置。 2 / 接口设置 创建应用后,根据应用将满足的办公场景,选择不同的API接口。目前支持: 发送消息/接收消息/自动回复 网页授权及JS-SD

  • 安装企业微信移动客户端后,可先在手机上创建企业,先行体验企业微信的便捷高效。 手机创建企业 1 / 创建流程 01/05选择微信登录。 02/05进行登录授权。 03/05输入管理员的手机号码及企业邮箱帐号。 04/05填写公司名称及管理员真实姓名。 05/05创建成功,开始体验企业微信。 2 / 移动端补充营业执照 若想体验功能更完整的企业微信,建议在手机上认领企业,补充营业执照。认领后可获得1

  • 1.手机端 手机轻推-通讯录-我的企业/组织机构-创建企业,输入企业名称即可完成创建。 2. 电脑端 电脑端(网页端)轻推-通讯录-我的企业/组织机构-创建企业,输入企业名称即可完成创建。

  • 1.手机端 手机轻推-通讯录-我的企业/组织机构-创建企业,输入企业名称即可完成创建。 2. 电脑端 电脑端(网页端)轻推-通讯录-我的企业/组织机构-创建企业,输入企业名称即可完成创建。