Glassfish 5 不适用于 Intellij 2017 2.4
Glassfish 5 not working with Intellij 2017 2.4
我是 Intellij 的新手 ide 我在 运行ning Glassfish 5 或 Intellij 2017 2.4 上的任何先前版本时遇到问题。
选择 New Project > Java Enterprise > Web Application
后我必须指定应用程序服务器,我选择了 glassfish 5 的文件夹,jdk 设置为 1.8,java ee 设置为 7。所以到目前为止一切顺利,没有错误,并且项目已创建。然后我在右上角的 GlassFish 5.0.0 旁边有一个灰色的 "play" 图标,表示我必须对其进行配置,我单击 Edit Configurations
并打开 Run/Debug 配置
一切似乎都很好,当我单击 "play" 绿色按钮启动服务器和 运行 项目时,我在部署下有 projectName:war exploded 和
[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 设置非常简单 ward,我已经在线检查了几个解决方案,包括 this 但它们似乎不适合我。
我和 I found that it is caused by an issue with the JDK software. So the NullPointerException thrown at AsadminMain.java:57 can be solved by checking your system variables (PATH, JAVA_HOME). Be sure that they reference to an acceptable JDK supported by your GlassFish version. GlassFish 5.0 is certified to work with java sdk 8u144 as mentioned HERE: https://javaee.github.io/glassfish/doc/5.0/release-notes.pdf 遇到了同样的问题。
请注意,该路径还可能包含对旧 SDK 目录的引用。
如果您需要更多帮助,请 post 在您的 cmd
上调用 echo %PATH%
的结果。
在我的例子中 JDK 1.8.0_152 必须安装,路径和 java_home 变量必须被配置并且 JDK 9.X 必须被卸载.不卸载,错误依旧。
卸载Java 9,继续使用版本8更新162和jdk8。当你卸载 Java 9 你的系统变量 (PATH, JAVA_HOME=C:\ProgramData\Oracle\Java\javapath) 将更新 3 jar (java, javaw, javaws) 在此路径中 Java 版本 8。
war 爆炸:等待服务器连接开始工件部署...
检测到的服务器管理端口:4848
检测到服务器http端口:8080
....
假设您确定 JDK 在您的环境变量中设置良好并且您正在使用 jdk 8 或 lower-Well 我在某处读到 java9 有问题有了这样的配置,也许问题已经解决了,但对于我的情况,我选择暂时避免。
- 下载并解压缩您的版本的 GlassFish。对于我的情况,我是
使用 GlassFish 5.181.O on Intellij 2018.1 终极版
启动 Intellij,然后在 打开任何项目之前,或者关闭所有打开的项目。
- 点击配置,然后点击设置.一个新的 window 将出现,如下所示。我已经在图像中标记了您需要遵循的步骤。我也会在这里补充一些解释。
- 在 Application Servers 下,单击图像上显示的 + 步骤 2 ,这里需要指定你的glassfish server,就是你解压到的文件夹。
- 接下来,单击图像上步骤 3 中显示的 + 添加服务器模块。
- 假设到此为止一切都成功了,select所有选项如图4所示,应用更改并确定。
- 我将解释如何创建一个新项目,因为我不确定您将如何处理现有项目,但我想您可以使用这里的概念来弄清楚您需要调整什么。创建 你的新 java ee 或你正在开发的任何应用程序,
- 如图 2 所示,假设您正在创建一个 Java EE 应用程序,单击 Java 企业 ,然后 check/tick Web 应用程序 和 JSF
- 在 libraries 下,使用 Glassfish 的库...安装 没有帮助多半是因为我得到了空指针异常。所以我使用了下载如图2。点击下一步完成。
- 您会自动看到 GlassFish 添加到项目中,运行 它来自 IDE。
编辑
如果您已完成上述所有操作,但仍然出现空指针异常之类的错误。按照@Jailson Evora 所说的去做:从 java 9 清除系统并安装 java 8 并确保在命令行上发出 java -version
时,输出是 java 8
我不得不卸载 jdk9 和 jdk10 并将我的 java_home 设置回 jdk8_181
我是 Intellij 的新手 ide 我在 运行ning Glassfish 5 或 Intellij 2017 2.4 上的任何先前版本时遇到问题。
选择 New Project > Java Enterprise > Web Application
后我必须指定应用程序服务器,我选择了 glassfish 5 的文件夹,jdk 设置为 1.8,java ee 设置为 7。所以到目前为止一切顺利,没有错误,并且项目已创建。然后我在右上角的 GlassFish 5.0.0 旁边有一个灰色的 "play" 图标,表示我必须对其进行配置,我单击 Edit Configurations
并打开 Run/Debug 配置
[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 设置非常简单 ward,我已经在线检查了几个解决方案,包括 this 但它们似乎不适合我。
我和 I found that it is caused by an issue with the JDK software. So the NullPointerException thrown at AsadminMain.java:57 can be solved by checking your system variables (PATH, JAVA_HOME). Be sure that they reference to an acceptable JDK supported by your GlassFish version. GlassFish 5.0 is certified to work with java sdk 8u144 as mentioned HERE: https://javaee.github.io/glassfish/doc/5.0/release-notes.pdf 遇到了同样的问题。
请注意,该路径还可能包含对旧 SDK 目录的引用。
如果您需要更多帮助,请 post 在您的 cmd
上调用 echo %PATH%
的结果。
在我的例子中 JDK 1.8.0_152 必须安装,路径和 java_home 变量必须被配置并且 JDK 9.X 必须被卸载.不卸载,错误依旧。
卸载Java 9,继续使用版本8更新162和jdk8。当你卸载 Java 9 你的系统变量 (PATH, JAVA_HOME=C:\ProgramData\Oracle\Java\javapath) 将更新 3 jar (java, javaw, javaws) 在此路径中 Java 版本 8。
war 爆炸:等待服务器连接开始工件部署... 检测到的服务器管理端口:4848 检测到服务器http端口:8080 ....
假设您确定 JDK 在您的环境变量中设置良好并且您正在使用 jdk 8 或 lower-Well 我在某处读到 java9 有问题有了这样的配置,也许问题已经解决了,但对于我的情况,我选择暂时避免。
- 下载并解压缩您的版本的 GlassFish。对于我的情况,我是 使用 GlassFish 5.181.O on Intellij 2018.1 终极版
启动 Intellij,然后在 打开任何项目之前,或者关闭所有打开的项目。
- 点击配置,然后点击设置.一个新的 window 将出现,如下所示。我已经在图像中标记了您需要遵循的步骤。我也会在这里补充一些解释。
- 在 Application Servers 下,单击图像上显示的 + 步骤 2 ,这里需要指定你的glassfish server,就是你解压到的文件夹。
- 接下来,单击图像上步骤 3 中显示的 + 添加服务器模块。
- 假设到此为止一切都成功了,select所有选项如图4所示,应用更改并确定。
- 我将解释如何创建一个新项目,因为我不确定您将如何处理现有项目,但我想您可以使用这里的概念来弄清楚您需要调整什么。创建 你的新 java ee 或你正在开发的任何应用程序,
- 如图 2 所示,假设您正在创建一个 Java EE 应用程序,单击 Java 企业 ,然后 check/tick Web 应用程序 和 JSF
- 在 libraries 下,使用 Glassfish 的库...安装 没有帮助多半是因为我得到了空指针异常。所以我使用了下载如图2。点击下一步完成。
- 您会自动看到 GlassFish 添加到项目中,运行 它来自 IDE。
编辑
如果您已完成上述所有操作,但仍然出现空指针异常之类的错误。按照@Jailson Evora 所说的去做:从 java 9 清除系统并安装 java 8 并确保在命令行上发出 java -version
时,输出是 java 8
我不得不卸载 jdk9 和 jdk10 并将我的 java_home 设置回 jdk8_181