2010-06-02 73 views
28

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

(这是一个64位的JRockit运行时间,但这应该不重要)。“

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

回答

83

目前不支持在64位JRE中使用Flex编译器。相反,让编译器使用32位JRE。

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

例子:

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

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

+6

显然正斜杠是重要;反斜杠在我的Windows 7机器上不起作用。 – 2012-01-18 16:22:26

+3

并且不接受双引号。 – BlueDolphin 2012-03-27 21:00:32

+0

我有同样的问题,但没有通过一个32位JRE解决,我安装了一个32位JRE(1.8.0_25),并设置回家,但仍然是相同的。我的flex版本是4.0.1 – 2014-12-28 09:17:12

6

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

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
  • ...
+0

谢谢,对我有用。 – ntl 2016-03-24 23:45:15

+0

你是男人!!!!! – 2016-11-28 21:28:32