无法获取系统Java编译器。请使用JDK,而不是JRE
我无法获得系统Java编译器。请使用JDK,而不是JRE。当jsp文件在我的项目中并且我将它部署到Google应用程序引擎时。因此,我尝试了以下方法来解决问题:无法获取系统Java编译器。请使用JDK,而不是JRE,java,google-app-engine,Java,Google App Engine,我无法获得系统Java编译器。请使用JDK,而不是JRE。当jsp文件在我的项目中并且我将它部署到Google应用程序引擎时。因此,我尝试了以下方法来解决问题: 将-vm C:\Program Files\Java\jdk1.6.0\u 43\bin\javaw.exe添加到我的eclipse.ini中 确保JDK位于项目的构建路径中,而不是jre中 将C:\Program Files\Java\jdk1.6.0\U 43\bin\添加到环境变量的路径中 但这些都没有解决问题。我怎样才能解决这个
但这些都没有解决问题。我怎样才能解决这个问题 转到
Windows->Preferences->Java->Installed JREs->Add…
,然后将JDK文件夹的路径设置为JRE home
。其余字段将自动填写。然后,在安装的JRE列表中,确保新添加的JDK被标记为默认JRE。最后一个方法:一个简单但公认不是很优雅的解决方案是卸载所有JRE我遇到了同样的问题,并得出了一个结论:
如果Eclipse是用JRE执行的,那么在部署到AppEngine时,即使首选项设置设置为使用JDK,它也将使用JRE而不是JDK
解决方案:将JAVA_HOME路径从JRE更改为JDK,并确保路径中包含JAVA_HOME\bin。然后,重新启动Eclipse。确保JAVA_HOME环境变量引用的是JDK HOME目录,而不是JRE。能否将Eclipse.ini文件粘贴到此处? 几天前我刚刚添加了vm行,它工作得很好
请记住,在将
-vmc:\Program Files\Java\jdk1.6.0\bin\javaw.exe添加到eclipse.ini时,必须将它放在-vmargs行之前…请确保将-vm
和C:\Program Files\Java\jdk1.6.0\u 43\bin\javaw.exe
放在单独的行上我遇到了相同的错误[上载示例war留言簿时“无法获取系统java编译器”]。我安装了JDK,并且“java-version”可以正确打印版本信息。那么哪个部分出错了?
问题的原因在于:
除了%JAVA_HOME%/bin目录之外,JAVA.exe/javaw.exe也存在于C:\Windows\sub目录中
上载命令使用了c:\windows\sub目录中的java.exe,而不是位于%java\u HOME%目录中的java.exe。
解决方案:
将“%JAVA\u HOME%/bin”放在PATH环境变量定义的开头。这应该可以保证使用%JAVA\u HOME%的内容。以下两件事对我有效
1) 确保JAVA_HOME路径设置为JDK,并且JAVA_HOME包含在路径中
2) 在eclipse.ini中添加以下代码的前两行
-vm
C:\Program Files\Java\jdk1.7.0_03\bin\javaw.exe
-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.200.v20130807-1835-product
org.eclipse.epp.package.standard.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms40m
-Xmx512m
我通过编辑Google App Engine SDK文件夹下的appcfg.cmd文件来解决这个问题
appcfg.cmd文件位于
{eclipse directory}\plugins\com.google.appengine.eclipse.sdkbundle_1.8.8\appengine-java-sdk-1.8.8\bin
将命令中的java字符串更改为jdk文件夹下java.exe的特定位置:
原件:
java-Xmx1100m-cp“%~dp0..\lib\appengine tools api.jar”com.google.appengine.tools.admin.AppCfg%*
更改后:
“C:\Program Files\Java\jdk1.7.0_45\bin\Java.exe”-Xmx1100m-cp“%~dp0..\lib\appengine tools api.jar”com.google.appengine.tools.admin.AppCfg%*
奇怪的是,我突然遇到了这个问题,没有任何改变(除了从Windows8升级到WindowsNs8.1)
我可以通过在eclipse.ini文件中将-vm放在-vmargs之前来解决这个问题
编辑EclipseINI并添加
-vm
C:\ProgramFiles\Java\jdk1.7.0\u 65\bin\javaw.exe
如下(在这些行之间):
--launcher.defaultAction
开放文件
-虚拟机
C:\ProgramFiles\Java\jdk1.7.0\u 65\bin\javaw.exe
--launcher.appendVmargs
将JAVA_主页设置为指向jdk文件夹(C:\Program Files\JAVA\jdk1.7.0_65)
它对我来说非常有效。我做了所有其他人说的事情,但没有任何效果。我必须更改项目类型:project->Properties->project Facets并检查Dynamic Web Module。之后,我能够部署项目。我在Android Studio中构建项目时收到此错误。我在中设置了JDK位置设置(File==>settings),它为我解决了这个问题。我更新了所有建议的点,指向我的jdk1.8.0_111,而不是jre:Eclipse.ini,system path,JAVA_HOME。还从我的路径中删除了Oracle条目:C:\ProgramData\Oracle\JAVA\javapath(指向jre).最后,我又找到了一个引用jre的点,最终修复了它:
在Eclipse->my project Properties->Java Build Path->JRE系统库中,仍然指向我的JRE。删除它,添加库并指向我的jdk。重新启动Eclipse,我最终可以使用jsp进行部署
我回去删除了JAVA_HOME,它仍然可以工作(JAVA_HOME会干扰其他构建系统)
期待着找到一个好的命令行构建,这样我就不会使用随机编译器了。你试过重新安装Eclipse和JDK吗?我还必须补充一点,我的Eclipse变得疯狂了。我已经完成了这项工作,但它不起作用。然后我安装了一个新的Eclipse,它又出了问题。然后我又安装了一个新的Eclipse,并且将工作区指向其他文件夹,此解决方案有效!这只是一个提示,以防有人有相同的奇怪行为。对我有效,谢谢。我尝试了许多不同的解决方案,但最终都失败了。这是唯一有效的答案。我只需将“jre7”目录移到其他位置(以便在需要时可以还原它).unistall对我不起作用。我使用了eclipse.ini调整,并在库中安装了JRE。虽然Project Explorer guestbook.jsp中有一个红十字,但它运行起来很快