Попытка запустить муравей - получение ошибки - PullRequest
4 голосов
/ 20 декабря 2009

Я только что установил ant и JDK 6 и пытаюсь запустить задачу ant. Я получаю следующее:

C:\Users\Giles Roadnight\workspace\Parsley\build>ant compile_spicelib_complete_flex
Buildfile: build.xml
compile_spicelib_complete_flex:
[exec] Error loading: C:\Program Files\Java\jdk1.6.0_17\jre\bin\server\jvm.dll
[exec] Result: 6

BUILD SUCCESSFUL
Total time: 0 seconds
C:\Users\Giles Roadnight\workspace\Parsley\build>

Этот файл - jvm.dll, безусловно, там. Я пытался работать от имени администратора с тем же результатом.

Для установки я запустил установщик JDK (у меня уже был установлен JRE), я настроил JAVA_HOME в переменных среды. Я разархивировал муравей и добавил каталог с мусорным баком в папку PATH.

Я не разбираюсь в Java и в том, как все это работает, поэтому немного растерялся.

Я на 64-битной Windows 7. Я загрузил 64-битную JDK.

Любая помощь высоко ценится.

Ответы [ 4 ]

11 голосов
/ 04 июня 2012

Вы должны разархивировать свой флекс в какую-нибудь папку. Я имею в виду эту папку как flex_sdk.

Добавьте flex_sdk в переменную среды FLEX_HOME (при необходимости создайте переменную среды). Компилятору Flex требуется 32-битная JRE, поскольку в настоящее время нет поддержки 64-битной JRE. Для этого сначала загрузите 32-битную (или X86) версию jdk, а затем укажите на нее указатель flex sdk. Для этого вам необходимо отредактировать файл jvm.config, расположенный в FLEX_HOME \ bin. В jvm.config установите java.home в расположение вашего 32-битного JDK, как показано (обратите внимание, что это не обратные слеши)

Пример: java.home=C:/Program Files (x86)/Java/jdk1.6.0_25 В качестве альтернативы, вы также можете добавить переменную окружения с именем JAVA_HOME и указать ей указанную выше папку, если вы не можете найти файл jvm.config.

/ У меня была такая же проблема, и я исследовал ее пару дней. Пробовал сотни путей к классам и множество проблем с реестром. Вышеуказанное решение, похоже, работает для меня. Дайте мне знать, если это работает и для вас /

-Прасад К

4 голосов
/ 20 декабря 2009

Мне кажется, что ant-скрипт запускает нативную программу, которая, в свою очередь, пытается загрузить JVM для запуска некоторого Java-кода, и терпит неудачу. Я полагаю, что существует несоответствие между 32-разрядной и 64-разрядной версиями. Пакет, который вы пытаетесь запустить, в этой теории использует 32-разрядный исполняемый файл Windows, который не может загрузить библиотеку 64-разрядной библиотеки DLL JVM.

Более простое возможное объяснение состоит в том, что многие вещи во вселенной Java озадачены пробелами в путевых именах. Попробуйте установить JDK по пути без встроенных пробелов.

2 голосов
/ 17 марта 2012

Вы можете решить эту проблему, создав файл bat в каталоге bin-flex-sdk со следующим:

"%JAVA_HOME%\bin\java.exe" -Xmx384m -Dsun.io.useCanonCaches=false -jar "%~dp0\..\lib\mxmlc.jar" +flexlib="%~dp0\..\frameworks" %*

Затем вызовите этот bat-файл вместо mxmlc.exe

Примечание: решение найдено в https://web.archive.org/web/20120327204229/http://sray.squidpower.com/2010/01/13/solution-to-error-running-mxmlcexe-with-windows-64bit-jvm/

0 голосов
/ 20 декабря 2009

Первая часть, которая меня удивляет, это то, что она пытается использовать серверную JVM вместо обычной, но это может быть особенностью вашей сборки. Во-вторых, я бы попробовал запустить ant -v вместо простого муравья. Это должно дать вам гораздо больше информации и, надеюсь, больше информации о том, что муравей пытается сделать в данный момент.

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