Glassfish 5不适用于Intellij 2017 2.4

时间:2017-09-26 18:50:54

标签: java intellij-idea glassfish

我是Intellij ide的新手,我在Intellij 2017 2.4上运行Glassfish 5或任何以前的版本时遇到问题。

选择New Project > Java Enterprise > Web Application后我必须指定应用服务器,我选择了glassfish 5的文件夹,jdk设置为1.8,java ee设置为7.到目前为止,没有错误,项目得到创建。然后我在角落右上角的GlassFish 5.0.0旁边有一个灰色的“播放”图标,表示我必须配置它,我点击Edit Configurations然后打开运行/调试配置{{3} } 一切似乎都很好,当我点击“播放”绿色按钮启动服务器并运行项目时,我在部署和

下有 projectName:war爆炸
[2017-09-26 08:47:57,836] Artifact testfornew:war exploded: Waiting for server connection to start artifact deployment...
Detected server admin port: 4848
Detected server http port: 8080
Exception in thread "main" java.lang.NullPointerException
at com.sun.enterprise.module.common_impl.AbstractModulesRegistryImpl.initializeServiceLocator(AbstractModulesRegistryImpl.java:152)
at com.sun.enterprise.module.common_impl.AbstractModulesRegistryImpl.newServiceLocator(AbstractModulesRegistryImpl.java:144)
at com.sun.enterprise.module.common_impl.AbstractModulesRegistryImpl.createServiceLocator(AbstractModulesRegistryImpl.java:218)
at com.sun.enterprise.module.common_impl.AbstractModulesRegistryImpl.createServiceLocator(AbstractModulesRegistryImpl.java:224)
at com.sun.enterprise.module.single.StaticModulesRegistry.createServiceLocator(StaticModulesRegistry.java:88)
at com.sun.enterprise.admin.cli.CLIContainer.getServiceLocator(CLIContainer.java:217)
at com.sun.enterprise.admin.cli.CLIContainer.getLocalCommand(CLIContainer.java:255)
at com.sun.enterprise.admin.cli.CLICommand.getCommand(CLICommand.java:231)
at com.sun.enterprise.admin.cli.AdminMain.executeCommand(AdminMain.java:371)
at com.sun.enterprise.admin.cli.AdminMain.doMain(AdminMain.java:306)
at org.glassfish.admin.cli.AsadminMain.main(AsadminMain.java:57)

在输出下。来自Netbeans设置glassfish是非常简单的,我已经在网上检查了几个解决方案,包括enter image description here,但它们似乎对我不起作用。

4 个答案:

答案 0 :(得分:4)

在我的情况下,必须安装JDK 1.8.0_152,必须配置路径和java_home变量,并且必须卸载JDK 9.X.没有卸载,错误仍然存​​在。

答案 1 :(得分:2)

我遇到了同样的问题I found that it is caused by an issue with the JDK software。因此,AsadminMain.java:57抛出的NullPointerException可以通过检查系统变量 PATH ,JAVA_HOME)来解决。请确保它们引用了GlassFish版本支持的可接受的JDK。 GlassFish 5.0经过认证可以使用java sdk 8u144,如下所述:https://javaee.github.io/glassfish/doc/5.0/release-notes.pdf

请注意,该路径还可能包含对旧SDK目录的引用。

如果您需要更多帮助,请在echo %PATH%上发布致电cmd的结果。

答案 2 :(得分:0)

战争爆炸:等待服务器连接以启动工件部署... 检测到的服务器管理端口:4848 检测到的服务器http端口:8080 ....

假设您确定JDK已在您的环境变量中设置良好并且您正在使用jdk 8或更低 - 我在某处读到java9存在此类配置问题,可能问题已经解决但是对于我的情况我选择了暂时避免。

  1. 下载并解压缩您的版本的GlassFish。对于我的情况,我是 在Intellij 2018.1上使用GlassFish 5.181.O 终极版
  2. 启动Intellij, 打开任何项目,或者关闭所有已打开的项目。

    1. 点击 配置 ,然后点击 设置 。将出现一个新窗口,如下所示。我已经在图像中标记了您需要遵循的步骤。我还会在这里添加一些解释。
    2. 应用程序服务器下,点击图片上显示为步骤 2 + ,此处您需要指定glassfish服务器,您解压缩到的文件夹。
    3. 接下来,点击图片上步骤 3 中显示的 + 以添加服务器模块。
    4. 假设到目前为止一切都是成功的,请选择图像上步骤 4 所示的所有选项,应用更改并确定。
    5. 我将解释有关创建新项目的原因,因为我不确定如何处理现有项目,但我想您可以使用此处的概念来确定需要调整的内容。 创建 您的新java ee或您正在处理的任何应用程序,
    6. 如图2所示,假设您正在创建Java EE应用程序,请单击 Java Enterprise ,然后选中/勾选 Web应用程序 JSF
    7. 下, 使用来自Glassfish的库...安装 没有多大帮助,因为我有空指针异常。所以我使用下载,如图2所示。单击“下一步”并完成。
    8. 自动您将看到GlassFish已添加到项目中,从IDE运行它。 enter image description here
  3. enter image description here

    enter image description here

    修改 如果您已完成上述所有操作并仍然出现Null Pointer Exceptions之类的错误。执行@Jailson Evora所说的内容:从java 9中清除系统并安装java 8并确保在命令行上发出 java -version 时,输出为java 8

答案 3 :(得分:0)

我必须同时卸载jdk9和jdk10,并将java_home设置回jdk8_181