Google App Engine с Java - ошибка при запуске компилятора javac.exe - PullRequest
2 голосов
/ 03 июня 2010

в Windows XP

Просто загруженный и разархивированный движок приложения Google java SDK
в C: \ Program Files \ appengine-java-sdk

У меня установлен jdk в
C: \ Program Files \ Java \ jdk1.6.0_20.

Я запустил образец приложения по
appengine-java-sdk \ bin \ dev_appserver.cmd appengine-java-sdk \ demos \ guestbook \ war

Затем я посетил localhost: 8080, чтобы найти:
ОШИБКА HTTP 500

Проблема с доступом /. Причина:

Error running javac.exe compiler

Причина:

Ошибка при запуске компилятора javac.exe в org.apache.tools.ant.taskdefs.compilers.DefaultCompilerAdapter.executeExternalCompile (DefaultCompilerAdapter.java:473)

Как это исправить?

Мой JAVA_HOME указывает на C: \ Program Files \ Java \ jdk1.6.0_20.

Я также попытался изменить appcfg.cmd на:

@ "C: \ Program Files \ Java \ jdk1.6.0_20 \ bin \ java" -cp "% ~ dp0 .. \ lib \ appengine-tools-api.jar" com.google.appengine.tools.admin.AppCfg% *

Это тоже не сработало.

Ответы [ 5 ]

5 голосов
/ 12 июня 2010

Я получаю точно такую ​​же ошибку на моей машине с Linux. Когда я изучил вывод консоли в затмении, я увидел, что это ошибка разрешения. Поэтому я непосредственно иду в каталог моего jdk и проверяю права доступа к файлу javac. Я вижу, что только root может выполнить Javac. Я даю разрешение на выполнение группам и другим по команде sudo chmod 555 javac Затем я попытался снова, и это сработало.

1 голос
/ 24 октября 2010

Я прошел через ту же проблему, что и вы. Простое решение: укажите путь C: \ Program Files \ Java \ jdk (версия) \ bin , а не просто C: \ Program Files \ Java \ jdk (версия) \

Перезапустите свою IDE, и она будет работать как шарм!

(ранее "javac -version" для CMD, который ранее не давал результат, при печати) также будет работать при перезапуске cmd после включения правильной переменной пути)

1 голос
/ 03 июня 2010

Обычно вы хотите, чтобы JAVA_HOME указывал на каталог, в котором установлен ваш jdk, а не на каталог, где находятся ваши файлы appengine. Если JAVA_HOME не указывает на ваш jdk, то имеет смысл, что вы получаете сообщение об ошибке, указывающее, что java-компилятор не найден.

0 голосов
/ 24 октября 2010

Во-первых, я всегда избегаю использования каталога "Program Files" или любого другого каталога с пробелом в имени.
Если нельзя избежать «Программных файлов», то назовите его «Progra ~ 1» или окружите его явными кавычками, чтобы исключить пробел в имени каталога, что может вызвать проблемы с анализаторами командной строки внутри и файлами сценариев.

Во-вторых, определите переменную среды JAVA_HOME, чтобы она указала на ваш экземпляр jdk, например, set JAVA_HOME=C:\java\jdk\jdk1.6.0_20, а затем поместите% JAVA_HOME% \ bin как можно ближе к передней части пути к классам. Я регулярно размещаю этот каталог в начале путь к классу, особенно перед всеми записями каталога% SYSTEMROOT%.

0 голосов
/ 12 октября 2010

Ошибка в моем предыдущем комментарии. Чтобы это работало в Windows7, мне нужно было добавить JAVA_HOME в мой PATH. В противном случае он использовал бы другую версию java / javac.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...