Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在Mac上的新项目上运行grails命令,因为;无法确定java版本";错误_Java_Macos_Grails_Installation_Setup Project - Fatal编程技术网

无法在Mac上的新项目上运行grails命令,因为;无法确定java版本";错误

无法在Mac上的新项目上运行grails命令,因为;无法确定java版本";错误,java,macos,grails,installation,setup-project,Java,Macos,Grails,Installation,Setup Project,我需要在Mac系统上运行现有的grails项目(在windows上运行) 在此之前,我正在尝试设置grails并运行一个“hello world”。我使用sdkman下载并安装了grails。我的安装目录是- /用户/sandepan.nath/Desktop/setups 在这里,我创建了grails目录并运行了sdk install grails命令,该命令安装了grails并创建了- SandeepanNath:grails sandeepan.nath$ ls -lrth total 8

我需要在Mac系统上运行现有的grails项目(在windows上运行)

在此之前,我正在尝试设置grails并运行一个“hello world”。我使用sdkman下载并安装了grails。我的安装目录是-

/用户/sandepan.nath/Desktop/setups 在这里,我创建了grails目录并运行了sdk install grails命令,该命令安装了grails并创建了-

SandeepanNath:grails sandeepan.nath$ ls -lrth
total 80
-rw-r--r--   1 sandeepan.nath  1974079253    73B Jun  1 13:03 gradle.properties
drwxr-xr-x   3 sandeepan.nath  1974079253    96B Jun  1 13:03 gradle
-rwxr--r--   1 sandeepan.nath  1974079253   4.9K Jun  1 13:03 gradlew
-rwxr--r--   1 sandeepan.nath  1974079253   2.3K Jun  1 13:03 gradlew.bat
-rwxr--r--   1 sandeepan.nath  1974079253   4.6K Jun  1 13:03 grailsw
-rwxr--r--   1 sandeepan.nath  1974079253   2.3K Jun  1 13:03 grailsw.bat
drwxr-xr-x   5 sandeepan.nath  1974079253   160B Jun  1 13:03 src
-rw-r--r--   1 sandeepan.nath  1974079253   5.3K Jun  1 13:03 grails-wrapper.jar
drwxr-xr-x  12 sandeepan.nath  1974079253   384B Jun  1 13:03 grails-app
-rw-r--r--   1 sandeepan.nath  1974079253   2.9K Jun  1 13:03 build.gradle
drwxr-xr-x   2 sandeepan.nath  1974079253    64B Jun  1 13:03 build
我在grails目录中运行grails create app hello来创建项目,但失败了-

SandeepanNath:hello sandeepan.nath$ grails create-app hello
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.codehaus.groovy.reflection.CachedClass (file:/Users/sandeepan.nath/.sdkman/candidates/grails/3.3.10/lib/org.codehaus.groovy/groovy/jars/groovy-2.4.17.jar) to method java.lang.Object.finalize()
WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.reflection.CachedClass
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
| Error Error initializing classpath: Could not determine java version from '12.0.1'. (Use --stacktrace to see the full trace)
我在grails目录之外再上一层,创建了一个项目(工作)——

并按照中的步骤创建项目

现在,当我在new_proj中,并尝试运行grails命令时,我在这里被阻止了-

SandeepanNath:new_proj sandeepan.nath$ grails
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.codehaus.groovy.reflection.CachedClass (file:/Users/sandeepan.nath/.sdkman/candidates/grails/3.3.10/lib/org.codehaus.groovy/groovy/jars/groovy-2.4.17.jar) to method java.lang.Object.finalize()
WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.reflection.CachedClass
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
| Error Error initializing classpath: Could not determine java version from '12.0.1'. (Use --stacktrace to see the full trace)
我在环境路径变量中设置了Java home-

SandeepanNath:~ sandeepan.nath$ echo $PATH
/Users/sandeepan.nath/.sdkman/candidates/grails/current/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/bin:/opt/apache-maven/bin:/usr/libexec/java_home/bin:/opt/apache-maven/bin:/usr/libexec/java_home:/opt/apache-maven/bin
注意-没有/usr/libexec/java_home/bin这样的路径

不过,当我尝试在项目中运行
grails
命令时,我发现
无法确定java版本
错误-

SandeepanNath:new_proj sandeepan.nath$ grails --stacktrace
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.codehaus.groovy.reflection.CachedClass (file:/Users/sandeepan.nath/.sdkman/candidates/grails/3.3.10/lib/org.codehaus.groovy/groovy/jars/groovy-2.4.17.jar) to method java.lang.Object.finalize()
WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.reflection.CachedClass
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
| Error Error initializing classpath: Could not determine java version from '12.0.1'. (NOTE: Stack trace has been filtered. Use --verbose to see entire trace.)
java.lang.IllegalArgumentException: Could not determine java version from '12.0.1'.
    at org.gradle.api.JavaVersion.toVersion(JavaVersion.java:68)
    at org.gradle.api.JavaVersion.current(JavaVersion.java:78)
    at org.gradle.internal.jvm.UnsupportedJavaRuntimeException.assertUsingVersion(UnsupportedJavaRuntimeException.java:29)
    at org.gradle.tooling.internal.consumer.ConnectorServices.checkJavaVersion(ConnectorServices.java:66)
    at org.gradle.tooling.internal.consumer.ConnectorServices.close(ConnectorServices.java:53)
    at org.gradle.tooling.internal.consumer.DefaultGradleConnector.close(DefaultGradleConnector.java:57)
    at org.grails.cli.gradle.cache.CachedGradleOperation.call(CachedGradleOperation.groovy:78)
    at org.grails.cli.GrailsCli.populateContextLoader(GrailsCli.groovy:525)
    at org.grails.cli.GrailsCli.initializeProfile(GrailsCli.groovy:508)
    at org.grails.cli.GrailsCli.initializeApplication(GrailsCli.groovy:306)
    at org.grails.cli.GrailsCli.execute(GrailsCli.groovy:269)
    at org.grails.cli.GrailsCli.main(GrailsCli.groovy:159)

从Oracle安装JDK 8,一旦安装就可以了。Grails3需要7或8

由于错误源于gradle,因此您可能会幸运地得到一个更新的gradle版本。但在过去,我没有这样的运气(用Newes4.xGradle重新加载丢失的代码)。谢谢,我也必须安装gradle。上面的观察是在gradle未安装的情况下进行的。降级JDK后,我必须通过create app创建一个新的应用程序,否则我会出错。@cfrick“…你可能会幸运地得到一个更新的gradle版本”-升级gradle不会解决此问题。它会产生其他问题,并且不会解决这个问题。3.5是Grails3.3.8的推荐Gradle版本。
SandeepanNath:new_proj sandeepan.nath$ grails --stacktrace
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.codehaus.groovy.reflection.CachedClass (file:/Users/sandeepan.nath/.sdkman/candidates/grails/3.3.10/lib/org.codehaus.groovy/groovy/jars/groovy-2.4.17.jar) to method java.lang.Object.finalize()
WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.reflection.CachedClass
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
| Error Error initializing classpath: Could not determine java version from '12.0.1'. (NOTE: Stack trace has been filtered. Use --verbose to see entire trace.)
java.lang.IllegalArgumentException: Could not determine java version from '12.0.1'.
    at org.gradle.api.JavaVersion.toVersion(JavaVersion.java:68)
    at org.gradle.api.JavaVersion.current(JavaVersion.java:78)
    at org.gradle.internal.jvm.UnsupportedJavaRuntimeException.assertUsingVersion(UnsupportedJavaRuntimeException.java:29)
    at org.gradle.tooling.internal.consumer.ConnectorServices.checkJavaVersion(ConnectorServices.java:66)
    at org.gradle.tooling.internal.consumer.ConnectorServices.close(ConnectorServices.java:53)
    at org.gradle.tooling.internal.consumer.DefaultGradleConnector.close(DefaultGradleConnector.java:57)
    at org.grails.cli.gradle.cache.CachedGradleOperation.call(CachedGradleOperation.groovy:78)
    at org.grails.cli.GrailsCli.populateContextLoader(GrailsCli.groovy:525)
    at org.grails.cli.GrailsCli.initializeProfile(GrailsCli.groovy:508)
    at org.grails.cli.GrailsCli.initializeApplication(GrailsCli.groovy:306)
    at org.grails.cli.GrailsCli.execute(GrailsCli.groovy:269)
    at org.grails.cli.GrailsCli.main(GrailsCli.groovy:159)