我正在使用groovy-2.3.3,使用jdk6u35。 groovy二进制文件是从groovy-sdk-2.3.3.zip中提取的。
使用groovyc编译后,运行java时遇到错误:
Unsupported major.minor version 51.0.
我用谷歌搜索并认为问题出在groovy-all-2.3.3-indy.jar(用于jdk7 +),所以我从CLASSPATH中删除了它。现在该程序可以运行,但它会发出警告:
WARNING: Module [groovy-all] - Unable to load extension class [org.codehaus.groovy.runtime.NioGroovyMethods]
如何禁用此警告消息,因为我知道它不适用于我的设置?
如果我不能在没有从源代码重新编译的情况下禁用此警告(这对我来说不是一个有效的选项),我是否应该下载任何其他groovy可执行文件,而不是sdk zip文件,以便它可以使用java -jdk6没有任何警告?
答案 0 :(得分:10)
在我之前
➜~ groovy -version
Aug 6, 2014 12:29:38 PM org.codehaus.groovy.runtime.m12n.MetaInfExtensionModule newModule
WARNING: Module [groovy-nio] - Unable to load extension class [org.codehaus.groovy.runtime.NioGroovyMethods]
Groovy Version: 2.3.4 JVM: 1.6.0_45 Vendor: Sun Microsystems Inc. OS: Linux
编辑vim $JAVA_HOME/jre/lib/logging.properties
将INFO设置为SEVERE或OFF java.util.logging.ConsoleHandler.level = SEVERE
之后
➜~ groovy -version
Groovy Version: 2.3.4 JVM: 1.6.0_45 Vendor: Sun Microsystems Inc. OS: Linux
更新(第二个更好的解决方案):
从lib文件夹中删除groovy-nio-2.3.6.jar
➜ ~ groovy --version
Aug 15, 2014 11:45:56 PM org.codehaus.groovy.runtime.m12n.MetaInfExtensionModule newModule
WARNING: Module [groovy-nio] - Unable to load extension class [org.codehaus.groovy.runtime.NioGroovyMethods]
Groovy Version: 2.3.6 JVM: 1.6.0_34 Vendor: Sun Microsystems Inc. OS: Linux
➜ ~
➜ ~ mv $GROOVY_HOME/lib/groovy-nio-2.3.6.jar $GROOVY_HOME/lib/groovy-nio-2.3.6.bak
➜ ~
➜ ~ groovy --version
Groovy Version: 2.3.6 JVM: 1.6.0_34 Vendor: Sun Microsystems Inc. OS: Linux