MXMLC 和 64 位 JRE

2022-09-01 13:34:21

是否有任何解决方法可以使 Flex 编译器与 64 位 JRE 配合使用?如果我在Eclipse的Ant构建文件中使用MXMLC任务,它可以正常工作,但是如果我尝试从命令行使用MXMLC(或尝试运行...来自 Eclipse 中 FDT 的命令)它失败了,告诉我...

“加载错误: C:\Program Files\Java\jrrt-1.6.0\jre\bin\jrockit\jvm.dll”

(这是使用64位JRockit运行时,但这并不重要)。


答案 1

目前不支持将 Flex 编译器与 64 位 JRE 配合使用。相反,请让编译器使用 32 位 JRE。

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

例:

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

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


答案 2

您可以使用任何 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" %*

组合.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
  • ...

推荐