Eclipse, AppEngine: java.lang.RuntimeException: не удается получить компилятор System Java. Пожалуйста, используйте JDK, а не JRE
Я получаю эту ошибку при попытке развернуть приложение Google AppEngine. Я выбрал JDK!
------------ Deploying frontend ------------
Preparing to deploy:
Created staging directory at: 'C:\Users\Chloe\AppData\Local\Temp\appcfg8759974391667459604.tmp'
Scanning for jsp files.
Compiling jsp files.
java.lang.RuntimeException: Cannot get the System Java Compiler. Please use a JDK, not a JRE.
Debugging information may be found in C:\Users\Chloe\AppData\Local\Temp\appengine-deploy6465203991005024943.log
C:\Users\Chloe\AppData\Local\Temp\AppEngine-deploy6465203991005024943.log:
Unable to update:
java.lang.RuntimeException: Cannot get the System Java Compiler. Please use a JDK, not a JRE.
at com.google.appengine.tools.admin.Application.compileJavaFiles(Application.java:814)
at com.google.appengine.tools.admin.Application.compileJsps(Application.java:801)
at com.google.appengine.tools.admin.Application.createStagingDirectory(Application.java:615)
at com.google.appengine.tools.admin.AppAdminImpl.doUpdate(AppAdminImpl.java:418)
at com.google.appengine.tools.admin.AppAdminImpl.update(AppAdminImpl.java:55)
at com.google.appengine.eclipse.core.proxy.AppEngineBridgeImpl.deploy(AppEngineBridgeImpl.java:433)
at com.google.appengine.eclipse.core.deploy.DeployProjectJob.runInWorkspace(DeployProjectJob.java:155)
at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
![Imgur]()
![Imgur]()
Я очистил проект, переустановил Eclipse до последней версии, повторно установил все плагины и т.д. Я также редактировал Program Files\Java\eclipse-kepler-4.3\eclipse.ini с помощью
-vm
C:\Program Files\Java\jdk1.7.0_17\bin\javaw.exe
вверху и перед -vmargs.
Ответы
Ответ 1
Перейдите в папку Eclipse, где установлено затмение (скажем c:\eclipse). Вы найдете файл eclipse.ini, который использует eclipse для запуска.
Добавьте следующую строку
-vm
C:\Program Files\Java\jdk1.7.0_25\bin\javaw.exe
измените вышеуказанный путь java с вашим местоположением JDK. Он должен иметь возможность использовать этот JDK и будет компилироваться и развертываться в приложении.
Ответ 2
В моем случае я пытался File>Restart
Eclipse, но не работал, когда выходил и запускался снова. Он работает
Ответ 3
WOW!!! Я занимался этой проблемой как 3-4 часа. Просто хотел сказать, что трахал это. Но затем я изменил eclipse.ini на:
-vm
A:/Programming/Java/jdk1.8.0_73/bin/javaw.exe
вместо:
-vm
A:/Programming/Java/jdk1.7.0_79/bin/javaw.exe
И УСПЕХ!
Почему это могло сработать? Не совсем уверен. Мне нужно 1.7 не 1.8... но 1.7 все время указывал на JRE вместо JDK... И удивительно, что 1.8 не делал этого +, все еще работал с текущей сборкой. Также стоит упомянуть, чтобы указать 1.7 в фасетках/пути сборки и компилятора.
![введите описание изображения здесь]()
Ответ 4
Я вижу, что OP использует Google Plugin для Eclipse (GPE), который устарел, но это тоже было проблемой в облачных инструментах для Eclipse (CT4E), поэтому я оставлю соответствующий ответ для CT4E здесь для ссылка.
На самом деле это была ошибка Cloud Tools для Eclipse, что он не использовал JDK, настроенный для проекта, а вместо этого использовал JDK, используемый для запуска Eclipse для постановки. Исправлена ошибка: https://github.com/GoogleCloudPlatform/google-cloud-eclipse/issues/2195.
Итак, другие ответы в этом вопросе на редактирование eclipse.ini
для изменения JDK для запуска Eclipse - временное обходное решение, которое больше не требуется. Просто обновите последнюю версию CT4E и установите JDK для проекта. Вы можете указать, какой JDK/JRE необходим в eclipse.ini
для запуска Eclipse.