GlassFish需要Java SE版本6.您的JDK是版本0(Mac)

时间:2017-11-25 21:23:44

标签: java macos intellij-idea glassfish

我正在使用GlassFish在IntelliJ中执行一个项目,它会抛出此错误:

  

GlassFish需要Java SE版本6.您的JDK版本为0.

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

我安装了Java SE,SDK版本为8u152(我在Java Panel上查看过)。另外,我不知道为什么它会搜索jdk 9。

enter image description here

enter image description here

4 个答案:

答案 0 :(得分:1)

我尝试了所有这些方法,但没有一个对我有用。

所有答案都涉及到转到文件夹 private readonly SignInManager<IdentityUser> _signInManager; public YourController( ..., SignInManager<IdentityUser> signInManager) { ... _signInManager = signInManager; } public async Task<IActionResult> YourMethod() // <-NOTE IT IS ASYNC { var user = _userManager.FindByNameAsync(User.Identity.Name).Result; var claimToUse = ClaimsHelpers.CreateClaim(ClaimTypes.ActiveCompany, JsonConvert.SerializeObject(cc)); var claimToRemove = _userManager.GetClaimsAsync(user).Result .FirstOrDefault(x => x.Type == ClaimTypes.ActiveCompany.ToString()); if (claimToRemove != null) { var result = _userManager.ReplaceClaimAsync(user, claimToRemove, claimToUse).Result; await _signInManager.RefreshSignInAsync(user); //<--- THIS } else ... ,然后编辑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没有。

我终于从这个问题中找到了答案:

How do I specify the JDK for a GlassFish domain?

答案 1 :(得分:0)

在我的情况下,问题与IntelliJ设置完全无关,JAVA_HOME指向正确的路径(版本1.8)。

尽管如此,实际上使用了java版本9的运行时,因此我卸载了JRE 9。 离开JDK9,因为删除运行时就足以作为快速修复。

答案 2 :(得分:0)

对我来说,java home很不错,唯一的问题是版本不匹配。

打开“ glassfish->配置-> asenv.conf”。 添加行AS_JAVA = PATH_TO_YOUR_JDK_DIRECTORY

唯一需要记住的是AS_JAVA = PATH_TO_YOUR_JDK_DIRECTORY 应该与您在intellij中提到的jdk版本完全匹配。

现在->

在IntelliJ ...文件-> SDK的中提到

C:\ Program Files \ Java \ jdk1.8.0_40 glassfish-> config-> asenv.conf

中提到了设置AS_JAVA = C:\ Program Files \ Java \ jdk1.8.0_40

答案 3 :(得分:0)

我请在asenv.conf文件夹中打开PATH_TO_YOUR_GLASSFISH/glassfish/config,转到行尾并添加set AS_JAVA=/PATH_TO_YOUR_JAVA/Java/JavaVirtualMachines/jdk-YOUR-VERSION.jdk