我是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} }
一切似乎都很好,当我点击“播放”绿色按钮启动服务器并运行项目时,我在部署和
[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是非常简单的,我已经在网上检查了几个解决方案,包括,但它们似乎对我不起作用。
答案 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存在此类配置问题,可能问题已经解决但是对于我的情况我选择了暂时避免。
启动Intellij, 打开任何项目,或者关闭所有已打开的项目。
修改强>
如果您已完成上述所有操作并仍然出现Null Pointer Exceptions之类的错误。执行@Jailson Evora所说的内容:从java 9中清除系统并安装java 8并确保在命令行上发出 java -version
时,输出为java 8
答案 3 :(得分:0)
我必须同时卸载jdk9和jdk10,并将java_home设置回jdk8_181