在ubuntu中运行grails应用程序时,找不到java编译器com.sun.to
我尝试了使用此名称的不同修复。但是没有工作 我在printenvi下有以下内容在ubuntu中运行grails应用程序时,找不到java编译器com.sun.to,java,ubuntu,grails,Java,Ubuntu,Grails,我尝试了使用此名称的不同修复。但是没有工作 我在printenvi下有以下内容 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/root/bin:/home/thinkvidya-kiran/programs/jdk1.6.0_45/bin:/home/thinkvidya-kiran/programs/jdk1.6.0_45/bin:/home/thinkvidya-kiran/prog
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/root/bin:/home/thinkvidya-kiran/programs/jdk1.6.0_45/bin:/home/thinkvidya-kiran/programs/jdk1.6.0_45/bin:/home/thinkvidya-kiran/programs/james-2.3.2/bin:/home/thinkvidya-kiran/programs/grails-2.1.1/bin
PWD=/usr/lib/jvm
JAVA_HOME=/home/thinkvidya-kiran/programs/jdk1.6.0_45
尝试
sudo ln -s /path/to/jre*/bin/java /usr/bin/java
java和javac给了我正确的输出。我试着在eclispe.ini中加入-vm。不为我工作,它给出以下错误
| Loading Grails 2.1.1
| Configuring classpath.
| Environment set to development.....
| Compiling 1 source files..
| Compiling 2 source files.
| Error Compilation error: startup failed:
General error during semantic analysis: unable to locate the java compiler com.sun.tools.javac.Main, please change your classloader settings
java.lang.ClassNotFoundException: unable to locate the java compiler com.sun.tools.javac.Main, please change your classloader settings
at org.codehaus.groovy.tools.javac.JavacJavaCompiler.findJavac(JavacJavaCompiler.java:190)
at org.codehaus.groovy.tools.javac.JavacJavaCompiler.compile(JavacJavaCompiler.java:49)
at org.codehaus.groovy.tools.javac.JavaAwareCompilationUnit.gotoPhase(JavaAwareCompilationUnit.java:97)
at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:513)
at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:482)
at org.codehaus.groovy.tools.FileSystemCompiler.compile(FileSystemCompiler.java:60)
at org.codehaus.groovy.tools.FileSystemCompiler.doCompilation(FileSystemCompiler.java:216)
at org.codehaus.groovy.ant.Groovyc.compile(Groovyc.java:935)
at org.codehaus.groovy.grails.compiler.Grailsc.compile(Grailsc.java:79)
at org.codehaus.groovy.ant.Groovyc.execute(Groovyc.java:629)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:622)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at groovy.util.AntBuilder.performTask(AntBuilder.java:260)
at groovy.util.AntBuilder.nodeCompleted(AntBuilder.java:220)
at groovy.util.BuilderSupport.doInvokeMethod(BuilderSupport.java:147)
at groovy.util.AntBuilder.doInvokeMethod(AntBuilder.java:170)
at groovy.util.BuilderSupport.invokeMethod(BuilderSupport.java:64)
at org.codehaus.gant.GantBuilder.invokeMethod(GantBuilder.java:99)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:45)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)
at org.codehaus.groovy.grails.compiler.GrailsProjectCompiler.compile(GrailsProjectCompiler.groovy:263)
at org.codehaus.groovy.grails.compiler.GrailsProjectCompiler$compile$0.callCurrent(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:46)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:133)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)
at org.codehaus.groovy.grails.compiler.GrailsProjectCompiler.compile(GrailsProjectCompiler.groovy:234)
at org.codehaus.groovy.grails.compiler.GrailsProjectCompiler$compile.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:112)
at _GrailsCompile_groovy$_run_closure2_closure6_closure7.doCall(_GrailsCompile_groovy:48)
我在Debian中遇到了与Grails2.4.3最新版本相同的问题。我在类路径中添加了jdk tools.jar以克服错误 在Debian我不得不做 导出类路径=/usr/lib/jvm/java-7-openjdk-amd64/lib/tools.jar
在Windows中,您必须找到tools.jar并将其添加到CLASSPATH环境变量。我在Debian中遇到了与Grails 2.4.3最新版本相同的问题。我在类路径中添加了jdk tools.jar以克服错误 在Debian我不得不做 导出类路径=/usr/lib/jvm/java-7-openjdk-amd64/lib/tools.jar
在Windows中,您必须找到tools.jar并将其添加到CLASSPATH环境变量中。我在使用预装java在新启动的EC2实例上安装整个包时遇到了相同的问题。 检查java版本时,我发现:
ubuntu@ip-*-*-*-*:/usr/local/java$ java -version
java version "1.7.0_65"
OpenJDK Runtime Environment (IcedTea 2.5.2) (7u65-2.5.2-3~14.04)
OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)
但检查编译器并不是那么完美:
ubuntu@ip-*-*-*-*:/usr/local/java$ javac -version
The program 'javac' can be found in the following packages:
* default-jdk
* ecj
* gcj-4.8-jdk
* openjdk-7-jdk
* gcj-4.6-jdk
* openjdk-6-jdk
Try: sudo apt-get install <selected package>
这就成功了:
ubuntu@ip-172-30-0-152:/usr/local/java$ javac -version
javac 1.7.0_65
我在使用预装java在新启动的EC2实例上安装整个包时也遇到了同样的问题。 检查java版本时,我发现:
ubuntu@ip-*-*-*-*:/usr/local/java$ java -version
java version "1.7.0_65"
OpenJDK Runtime Environment (IcedTea 2.5.2) (7u65-2.5.2-3~14.04)
OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)
但检查编译器并不是那么完美:
ubuntu@ip-*-*-*-*:/usr/local/java$ javac -version
The program 'javac' can be found in the following packages:
* default-jdk
* ecj
* gcj-4.8-jdk
* openjdk-7-jdk
* gcj-4.6-jdk
* openjdk-6-jdk
Try: sudo apt-get install <selected package>
这就成功了:
ubuntu@ip-172-30-0-152:/usr/local/java$ javac -version
javac 1.7.0_65
你试过上面解释的步骤吗?我在usr->lib->jvm中有7种类型的java文件夹。4在那里有一个链接图标。这是我的问题吗?也许吧。看看运行哪个javac会得到什么。当我运行javac-version时,你得到了编译器吗。它给了我JavaC1.6.045。我有一个。默认javalink,2.java-1.6.0-openjdklink,3.java-1.6.0-openjdk-amd64link,4.java-6-openjdklink,5.java-6-openjdk-amd64,6.java-6-openjdk-common,7.java-7-openjdk-amd64。我的usr->lib->jvm中的文件夹你试过上面解释的步骤吗?问题是我在usr->lib->jvm中有7种类型的java文件夹。4在那里有一个链接图标。这是我的问题吗?也许吧。看看运行哪个javac会得到什么。当我运行javac-version时,你得到了编译器吗。它给了我JavaC1.6.045。我有一个。默认javalink,2.java-1.6.0-openjdklink,3.java-1.6.0-openjdk-amd64link,4.java-6-openjdklink,5.java-6-openjdk-amd64,6.java-6-openjdk-common,7.java-7-openjdk-amd64。我的usr->lib->jvmI中的文件夹很想知道为什么会这样做。你介意再解释一下吗?我很想知道为什么这能解决问题。你介意再解释一下吗?