2010-06-02 19 views
28

Có cách giải quyết nào để trình biên dịch Flex hoạt động với JRE 64 bit không? Nếu tôi sử dụng một nhiệm vụ MXMLC trong một tệp xây dựng Ant trong Eclipse, nó hoạt động tốt nhưng nếu tôi cố gắng sử dụng MXMLC từ dòng lệnh (hoặc thử lệnh Run ... từ FDT trong Eclipse), ...MXMLC và 64bit JRE

"Lỗi tải: C: \ Program Files \ Java \ jrrt-1.6.0 \ jre \ bin \ jrockit \ jvm.dll"

(đây là thời gian chạy JRockit 64 bit nhưng điều đó không quan trọng).

Trả lời

83

Hiện tại không có hỗ trợ cho việc sử dụng trình biên dịch Flex với JRE 64 bit. Thay vào đó, có trình biên dịch sử dụng JRE 32 bit.

Để làm như vậy, bạn sẽ cần phải chỉnh sửa tệp jvm.config nằm trong FLEX_HOME \ bin. Trong jvm.config, đặt java.home đến vị trí của một JRE 32 bit. Nếu bạn chưa có JRE 32 bit, hãy tải xuống.

Ví dụ:

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

Nếu bạn thích câu trả lời này, vui lòng nhấp vào mũi tên lên để bên trái.

+6

Rõ ràng là dấu gạch chéo quan trọng; các dấu gạch chéo ngược không hoạt động trên máy tính Windows 7 của tôi. –

+3

Và không chấp nhận báo giá kép. – BlueDolphin

+0

Tôi có cùng một vấn đề, nhưng không được giải quyết bởi một JRE 32 bit, tôi đã cài đặt một JRE 32 bit (1.8.0_25) và thiết lập nhà nhưng vẫn giống nhau. Phiên bản flex của tôi là 4.0.1 –

6

Bạn có thể sử dụng bất kỳ Java 64 bit nào nhưng bạn cần một tệp lô thay vì tệp exe để gọi java mà không có sơ đồ 32 bit. Tạo các tập tin bat trong thư mục 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" %* 

Rửa và lặp lại cho tất cả flex * file .exe khác.

Cũng thêm tùy chọn java nếu cần, ví dụ:

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

Bây giờ sử dụng

  • mxmlc.bat thay vì mxmlx.exe
  • compc.bat thay vì compc.exe
  • ...
+0

Cảm ơn bạn, làm việc cho tôi. – ntl

+0

Bạn là THE MAN !!!!! –