MXMLC和64位JRE

Bad*_*Cat 28 java flash 64-bit mxmlc

是否有任何变通方法可以使Flex编译器与64位JRE一起使用?如果我在Eclipse中的Ant构建文件中使用MXMLC任务它可以正常工作但是如果我尝试从命令行使用MXMLC(或者从Eclipse中的FDT尝试Run ...命令)它会失败,告诉我......

"加载时出错:C:\ Program Files\Java\jrrt-1.6.0\jre\bin\jrockit\jvm.dll"

(这是一个64位的JRockit运行时,但这无关紧要).

Jul*_* A. 84

目前不支持将Flex编译器与64位JRE一起使用.相反,让编译器使用32位JRE.

为此,您需要编辑位于FLEX_HOME\bin中的jvm.config文件.在jvm.config中,设置java.home为32位JRE的位置.如果您还没有32位JRE,请下载它.

例:

java.home=C:/Program Files (x86)/Java/jre6
Run Code Online (Sandbox Code Playgroud)

如果您喜欢这个答案,请点击左侧的向上箭头.

  • 显然正向斜线很重要; 反斜杠在我的Windows 7机器上不起作用. (6认同)

beb*_*bbo 7

您可以使用任何64位Java,但是您需要一个批处理文件而不是exe文件来调用没有32位存根的Java.在flex\bin文件夹中创建bat文件.

mxmlc.bat:

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

compc.bat:

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

冲洗并重复所有其他flex*.exe文件.

还可以根据需要添加java选项,例如

java -Xmx2000m -XX:MaxMetaspaceSize=512m -jar "%FLEX_HOME%\lib\... ...
Run Code Online (Sandbox Code Playgroud)

现在用

  • mxmlc.bat而不是mxmlx.exe
  • compc.bat而不是compc.exe
  • ...