MXMLC и 64-битная JRE

Есть ли обходные пути, чтобы заставить компилятор Flex работать с 64-битной JRE? Если я использую задачу MXMLC в файле компоновки Ant в Eclipse, она работает нормально, но если я пытаюсь использовать MXMLC из командной строки (или пытаюсь выполнить команду Run... из FDT в Eclipse), она терпит неудачу, сообщая мне...

"Ошибка загрузки: C: \ Program Files \ Java \ jrrt-1.6.0 \ jre \ bin \ jrockit \ jvm.dll"

(это с 64-битной средой исполнения JRockit, но это не должно иметь значения).

2 ответа

Решение

В настоящее время нет поддержки использования компилятора Flex с 64-битной JRE. Вместо этого, пусть компилятор использует 32-битную JRE.

Для этого вам нужно отредактировать файл jvm.config, расположенный в FLEX_HOME\bin. В jvm.config установите java.home в расположение 32-битной JRE. Если у вас еще нет 32-битной JRE, скачайте ее.

Пример:

java.home=C:/Program Files (x86)/Java/jre6

Если вам нравится этот ответ, пожалуйста, нажмите стрелку вверх слева.

Вы можете использовать любую 64-битную Java, но вам нужен командный файл вместо exe-файла, чтобы вызвать Java без 32-битной заглушки. Создайте файлы bat в папке flex\bin.

mxmlc.bat:

@echo off
for  %%i in (%0) do set FLEX_HOME=%%~dpi..
java -jar "%FLEX_HOME%\lib\mxmlc.jar" +flexlib="%FLEX_HOME%/frameworks" %*

compc.bat:

@echo off
for  %%i in (%0) do set FLEX_HOME=%%~dpi..
java -jar "%FLEX_HOME%\lib\compc.jar" +flexlib="%FLEX_HOME%/frameworks" %*

Промойте и повторите для всех других файлов flex *.exe.

Также добавьте параметры Java по мере необходимости, например

java -Xmx2000m -XX:MaxMetaspaceSize=512m -jar "%FLEX_HOME%\lib\... ...

Сейчас использую

  • mxmlc.bat вместо mxmlx.exe
  • compc.bat вместо compc.exe
  • ...
Другие вопросы по тегам