玻璃鱼需要Java SE 6版本。您的JDK版本为0(Mac)。

8

我在IntelliJ中使用GlassFish进行项目开发时出现了以下错误:

GlassFish需要Java SE版本6,而你的JDK版本为0。

我在终端运行了glassfish4/bin/asadmin start-domain命令,但仍然遇到相同的错误。

我已经安装了Java SE,SDK版本为8u152(我在Java控制面板中进行了检查)。另外,我不知道为什么它会搜索jdk 9。

输入图片说明

输入图片说明


3
请勿发布可以用文字呈现的图片。 - Mark Rotteveel
2
你的项目默认SDK设置为Java 9。这就是为什么IntelliJ会启动Java命令行以及JDK 9路径的原因。 - Naman
那么,@Luis Frediani,这个问题是如何解决的? - Aashish
我怀疑你正在使用的软件太老了,不知道Java的后续版本如何报告它们的版本号。我建议升级到更高版本的Glassfish或将你的Java降级到旧版本。你可能也安装了多个JVM,并且不知道正在使用哪一个。 - Basil Bourque
5个回答

3

您需要打开位于PATH_TO_YOUR_GLASSFISH/glassfish/config文件夹中的asenv.conf,滑到末尾并添加以下内容:set AS_JAVA=/PATH_TO_YOUR_JAVA/Java/JavaVirtualMachines/jdk-YOUR-VERSION.jdk

这是最初的回答。


2
对我来说,Java home 不错,唯一的问题是版本不匹配。
打开“glassfish->config->asenv.conf”。 添加一行 AS_JAVA=PATH_TO_YOUR_JDK_DIRECTORY。
需要记住的是,AS_JAVA=PATH_TO_YOUR_JDK_DIRECTORY 应该与您在 IntelliJ 中提到的 JDK 版本完全匹配。
现在 -
在 IntelliJ 中提到了 C:\Program Files\Java\jdk1.8.0_40... 文件->SDK's 在 glassfish->config->asenv.conf 中提到了 set AS_JAVA=C:\Program Files\Java\jdk1.8.0_40。

在Ubuntu 20.04上,添加AS_JAVA行对我有用。 - Iresh Dissanayaka

1

前往文件夹 '..\GlassFish-4.1.2\glassfish4\glassfish\config'。
在记事本中打开:asenv.bat
在最后一行添加:
set AS_JAVA=....\Java\jdk1.8.0_291


1
我尝试了所有这些方法,但都没有成功。
所有答案都谈到进入文件夹PATH_TO_YOUR_GLASSFISH/glassfish/config,然后编辑asenv.conf
编辑该文件没有任何效果。
我确实进入了那个文件夹,但最终编辑了asenv.bat
我简单地在结尾处添加了这个:set AS_JAVA=../../../../Program Files/Java/jdk1.8.0_261 通用指令是:set AS_JAVA=PATH_TO_YOUR_JDK 注意:文件asenv.conf的值周围有引号,而asenv.bat则没有。
我最终从这个问题中找到了答案: 如何为GlassFish域指定JDK?

为什么每个人在一个说“MacBook”的问题上都回答“Program Files”? - SOFe

0
在我的情况下,问题与IntelliJ设置完全无关,JAVA_HOME指向了正确的路径(版本1.8)。
尽管如此,实际上还是使用了Java 9的运行时环境,所以我卸载了JRE 9。 只保留了JDK9,因为移除了运行时环境已经足够作为快速修复。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接