2012-01-24 22 views
6

Tôi đang sử dụng nhật thực trên những gì tôi nghĩ là tất cả các môi trường chạy 64 bit. Các cài đặt Java hiện tại> các JRE và Môi trường thực thi đã cài đặt đều trỏ tới jdk1.6.0_30, đây là phiên bản 64 bit của JDK. Tuy nhiên, nhật thực vẫn cho rằng nó đang chạy phiên bản 32 bit vì khi tôi chạy:Cách cấu hình lại nhật thực để sử dụng JVM 64 bit

System.getProperty ("sun.arch.data.model");

nó trả 32 thay vì 64.

Và tài nguyên JNI bên ngoài mà tôi biên soạn cho các máy 64 bit sẽ không liên kết với các tập tin chia sẻ .so trừ khi nó đang chạy trong một môi trường 64 bit. (Tôi gặp lỗi không khớp với kích thước từ khi tôi cố gắng thực hiện việc này)

Vậy làm cách nào tôi có thể cấu hình lại nhật thực để chạy 64 bit jvm. Bản thân nhật thực có phải là phiên bản 64 bit không?

: trên linux

Edit: Tôi đã thử gợi ý của mọi người và không có gì đang làm việc. Tôi đã thay đổi thực hiện, và các biến môi trường để trỏ đến JDK mới mà tôi có là 1,6_30. khi tôi chạy chương trình từ một dòng lệnh tôi nhận được 64 và amd64 là giá trị khi tôi chạy cùng một chương trình trong eclise tôi nhận được 32 và i386. Một cái gì đó là sai trong nhật thực đang gây ra nó để thử và chạy nó trên một JVM 32 bit. khi tôi thử java -d32 -version nó nói rằng môi trường 32 bit chưa được cài đặt nhưng Eclipse không biết điều đó. Tôi đã sửa đổi tệp Eclipse.ini và vẫn không có gì hoạt động. Tôi đã khởi động lại nhật thực sau những thay đổi này ... không có gì. Có thể một số người biết những người nhật thực tốt giúp tôi ở đây. cảm ơn

+0

Bạn có chắc chắn '" sun.arch.data.model' cho kiến ​​trúc JVM và không OS kiến ​​trúc Tôi là một chút không rõ ràng về khái niệm này – RanRag

+0

Đó.. Tôi không chắc chắn. Tôi đã nhận rằng tắt của một thread tràn ngăn xếp.nhưng sẽ kiểm tra kỹ ngay bây giờ – Randnum

+0

Bạn có đang chạy phiên bản 64 bit của Eclipse không? Tôi khá chắc chắn rằng Eclipse sẽ chọn JVM thích hợp dựa trên phiên bản của nó, và vì Eclipse gửi JNI, bạn không thể trộn lẫn và kết hợp các cài đặt Eclipse/JVM 32 và 64 bit. –

Trả lời

3

Thêm thẻ -vm vào eclipse.ini hoặc phím tắt để chỉ định rõ ràng một JRE. Lưu ý rằng mặc định cho Windows XP là sử dụng CRAPPY JRE đi kèm với Windows.

-vm "%JAVA_HOME%/bin/javaw.exe"

+0

cố gắng này ..... – Randnum

+0

Lưu ý rằng các định dạng trong eclipse.ini là phải có -vm trên cùng một dòng và giá trị về sau .. Tôi không chắc chắn lý do tại sao. –

+0

vâng, tôi đã làm đúng. nó thực sự nhận ra vị trí mới mà tôi đặt nó nhưng vì một lý do nào đó nó vẫn ở chế độ 32 bit mặc dù JDK/JRE nó nhận ra là chính xác. Nó giống như có một lá cờ tôi phải chuyển đâu đó – Randnum

0

Đối với tôi, nó hoạt động bình thường! . Đảm bảo đường dẫn của bạn là c: \ Program File không phải c: \ Program File (X86) (nếu bạn cài đặt JDK 64 bit, nó nên lưu trong c: \ Program Files)

+0

Tôi đang trên linux ngay bây giờ. – Randnum

+0

xin lỗi tôi không có ý tưởng về Linux. – invariant

0

cấu hình Eclipse được giải thích here

+0

Tôi đã sửa đổi ini và nó không hoạt động. Nó tiếp tục hiển thị 32 bit trên i386. – Randnum

0

Các "JRE cùng cài đặt" (JDK sử dụng tốt hơn) được sử dụng để xây dựng và chạy mã của bạn và có thể là của kiến ​​trúc khác nhau hoặc phiên bản Java. JVM được sử dụng để chạy Eclipse được định nghĩa trong tệp eclipse.ini. Bạn nên sử dụng phiên bản cho kiến ​​trúc của JVM.

+0

Điều này là lạ bởi vì tôi không nghĩ rằng máy tính của tôi có cài đặt JDK/JRE 32 bit trên máy tính theo như tôi biết. Tôi đã chỉ định môi trường thời gian chạy ở khắp mọi nơi bao gồm trong tệp Eclipse.ini và nó vẫn cho rằng nó đang chạy trên một máy tính 32 bit. – Randnum

+0

Bạn đang sử dụng hương vị nào của Linux? Một số cài đặt thêm JRE, ví dụ: cho OpenOffice. Bạn đã cài đặt JRE như thế nào? Bạn đã thay đổi môi trường thực thi trong dự án chưa? –

+0

Tôi đang sử dụng Red Hat 5, tôi đã cài đặt nhiều JDK nhưng tôi đã cẩn thận để thay đổi classpath trong linux thành phiên bản 1.6 mới nhất. Tôi cũng đã thay đổi tất cả các biến môi trường và thực thi trong dự án. Trong thực tế, tôi không biết rằng tôi có một jvm 32 bit được cài đặt bất cứ nơi nào trên máy tính của tôi. Đối với một số lý do Eclipse sẽ rogue và nói rằng đó là trên một máy tính i386 và rằng nó đang chạy ở chế độ 32 bit. Tuy nhiên khi tôi đi ra ngoài nhật thực và runt ông chính xác cùng một lệnh nó cho thấy 64 bit chính xác và một máy tính amd64. – Randnum

0

OK. Điều này đã được thay vì đau đầu gây ra, nhưng tôi tin rằng tôi có một giải pháp. Sau khi thay đổi eclipse.ini, Chuyển đến thuộc tính dự án của bạn. Trong cài đặt Chạy/Gỡ lỗi, hãy chỉnh sửa cấu hình khởi chạy cho dự án của bạn. Trong thẻ JRE, hãy nhấp vào các JRE đã được cài đặt. Khi hộp thoại đó xuất hiện, hãy nhấp vào tìm kiếm. Đi đến thư mục tệp chương trình của bạn, KHÔNG phải là x86, và để nó tìm kiếm các JRE của bạn. Khi mới nhất xuất hiện, bỏ chọn JRE đã được chọn và chọn JRE mới nhất mà nó tìm thấy. Tôi đổi tên thành JRE7-64 của tôi chỉ để tôi có thể xác định sự khác biệt. Điều này đã giải quyết được vấn đề cuối cùng của tôi. Chúc may mắn

1

Trong add eclipse.ini:

-Xmx8g 
-d64 
+1

Làm rõ: Tham số '-Xmx8g' cho Eclipse biết nó có thể sử dụng tới 8 GB RAM. Tham số này không thực sự cần thiết để làm cho Eclipse sử dụng một JVM 64 bit. – Augustin

+0

Làm rõ: '-d64' là – Sergei

Các vấn đề liên quan