Eclipse, AppEngine: java.lang.RuntimeException: Невозможно получить системный компилятор 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)
Я очистил проект, переустановил Eclipse до последней версии, переустановил все плагины и т. Д. Я также отредактировал Program Files\Java\eclipse-kepler-4.3\eclipse.ini с помощью
-vm
C:\Program Files\Java\jdk1.7.0_17\bin\javaw.exe
вверху и перед -vmargs.
4 ответа
Перейдите в папку Eclipse, где у вас установлено eclipse (скажем, c:\eclipse). Вы найдете файл eclipse.ini, который eclipse использует при запуске. Добавьте следующую строку -vm C:\Program Files\Java\jdk1.7.0_25\bin\javaw.exe
измените вышеуказанный путь Java с вашим местоположением JDK. Он должен быть в состоянии использовать этот JDK и будет компилироваться и развертываться в ядре приложения.
В моем случае я пытался File>Restart
Затмение, но не работает, когда выход и запустить снова
Я вижу, что OP использует плагин Google для Eclipse (GPE), который устарел, но когда-то это также было проблемой в Cloud Tools for Eclipse (CT4E), поэтому я оставлю здесь соответствующий ответ для CT4E для справки.
Это действительно была ошибка Cloud Tools for Eclipse, так как она не использовала JDK, настроенный для проекта, а вместо этого использовала JDK, используемый для запуска Eclipse для подготовки. Ошибка была исправлена: https://github.com/GoogleCloudPlatform/google-cloud-eclipse/issues/2195.
Итак, другие ответы на этот вопрос для редактирования eclipse.ini
изменить JDK для запуска Eclipse - временный обходной путь, который больше не нужен. Просто обновитесь до последней версии CT4E и установите JDK для проекта. Вы можете указать любой JDK/JRE, необходимый в eclipse.ini
для запуска Eclipse.
ВОТ ЭТО ДА!!! Я занимался этим вопросом около 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 в facets /build path & compiler..