Tôi đang làm việc trên Dự án Scala với Eclipse (Indigo SR2). Hôm nay tôi cập nhật máy tính của tôi để Mountain Lion bởi vì chúng tôi cần một số chức năng của JDK 7. Cài đặt JDK 7 làm việc tốt:Bật JDK 7 trong Eclipse Indigo trên Mountain Lion
$ java -version
java version "1.7.0_13"
Java(TM) SE Runtime Environment (build 1.7.0_13-b20)
Java HotSpot(TM) 64-Bit Server VM (build 23.7-b01, mixed mode)
Trong Eclipse tôi đã thay đổi các cài đặt sau:
- Java => Compiler => JRE cùng cài đặt: Thêm JDK1.7.0 với con đường
/Library/Java/JavaVirtualMachines/jdk1.7.0_13.jdk/Contents/Home
- Java => Compiler => JRE cùng cài đặt => Exucution Môi trường: Set JavaSE-1,7 đến
JDK1.7.0
- Java => Compiler: Tuân Level: 1,7
- Scala => Trình biên dịch: Mục tiêu = jvm-1.7
Sau đó, tôi khởi động lại Eclipse và cố gắng chạy tập lệnh. Tuy nhiên, tôi luôn nhận được lỗi:
value getPlatformMXBean is not a member of object java.lang.management.ManagementFactory
Said phương pháp là chỉ có sẵn như của Java 1,7 và Eclipse dường như không tìm thấy nó mặc dù lệnh chuột vào nó cho thấy các chức năng trong lớp ManagementFactory
. Về Eclipse => Cấu hình cho thấy rằng nó vẫn đang sử dụng JDK 6 (java.runtime.version=1.6.0_37-b06-434-11M3909
), nhưng tôi cần JDK 7.
Vì vậy, tôi đã cố gắng như sau (cũng như mô tả trên StackOverflow và các trang web khác):
- add
-vm /Library/Java/JavaVirtualMachines/jdk1.7.0_13.jdk/Contents/Home/bin/java
vào file eclipse.ini (hai lần kiểm tra đường dẫn, vị trí thích hợp trong file theo eclipse website, và cũng có thể thêm xuống dòng ở giữa) - thêm cùng với Info.plist
$ /Applications/eclipse/Eclipse.app/Contents/MacOS/eclipse -vm /Library/Java/JavaVirtualMachines/jdk1.7.0_13.jdk/Contents/Home/
- Tạo liên kết tượng trưng từ 1,6 đến 1,7
Nhưng không may mắn, Eclipse chỉ bắt đầu với JDK-6. Điều kỳ lạ là tôi có thể thay đổi rõ ràng JRE trong Run=>Run Configurations
thành JDK7 và nó sẽ chạy theo cách đó. Nhưng tôi không muốn thay đổi điều đó cho mọi tập tin có thể chạy được.
Mọi đề xuất thêm?
Nhờ gợi ý từ EECOLOR, tôi có thể sử dụng plugin Scala trong Eclipse Juno, nơi JDK7 chạy tốt. Tuy nhiên, bây giờ tôi chạy vào những gì dường như là một vấn đề phụ thuộc. Ngoại lệ tôi nhận được có thể được xem tại đây: https://gist.github.com/anonymous/ac0f3a3655419e5149fa
Kỳ lạ, tệp chỉ khởi động tốt khi tôi chạy tệp từ dòng lệnh với một đơn giản java -cp JARFILE com.AND-SO-ON.file
. Để xây dựng các nguồn và nhận được các phụ thuộc, chúng tôi sử dụng SBT.
My eclipse.ini trông như sau (mặc định trừ các Xmx):
-startup
../../../plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
--launcher.library
../../../plugins/org.eclipse.equinox.launcher.cocoa.macosx.x86_64_1.1.200.v20120522-1813
-product
org.eclipse.epp.package.java.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Dhelp.lucene.tokenizer=standard
-XstartOnFirstThread
-Dorg.eclipse.swt.internal.carbon.smallFonts
-XX:MaxPermSize=256m
-Xms40m
-Xmx1060m
-Xdock:icon=../Resources/Eclipse.icns
-XstartOnFirstThread
-Dorg.eclipse.swt.internal.carbon.smallFonts
Dự án tương tự (ví dụ thực sự cùng một dự án, không chỉ cùng mã) không chạy vấn đề phụ thuộc trong Eclipse Indigo.Chỉnh sửa: Chỉ cần phát hiện ra, ngoại lệ này là do JDK7 và không phải là phiên bản Eclipse được sử dụng.
Tôi thấy bạn đã thêm một chỉnh sửa khác. Theo như tôi có thể nói vấn đề trong stacktrace thực sự không có gì để làm với Eclipse. Nếu bạn cần trợ giúp giải quyết lỗi mà bạn tìm thấy trong stacktrace, tôi khuyên bạn nên bắt đầu một câu hỏi mới. – EECOLOR