Pracuję nad projektem Scala z Eclipse (Indigo SR2). Dziś zaktualizowałem moją maszynę do Mountain Lion, ponieważ potrzebujemy trochę funkcjonalność JDK 7. Montaż JDK 7 działało w porządku:Włącz JDK 7 w Eclipse Indigo na 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)
W Eclipse Zmieniłem następujące ustawienia:
- Java => Compiler => zainstalowane JRE: Dodawanie JDK1.7.0 ze ścieżką
/Library/Java/JavaVirtualMachines/jdk1.7.0_13.jdk/Contents/Home
- Java => => kompilatora zainstalowane JRE => Exucution Środowisko: Set JavaSE-1,7 do
JDK1.7.0
- Java => Compiler: Poziom Zgodność: 1.7
- Scala => Compiler: Cel = JVM-1,7
Potem wznowiona Eclipse i próbowała uruchomić skrypt. Ja jednak zawsze pojawia się błąd:
value getPlatformMXBean is not a member of object java.lang.management.ManagementFactory
Sposób ten jest dostępny tylko jako Java 1.7 i Eclipse nie wydają się go znaleźć chociaż komenda kliknięcie na nim ujawnia funkcję w klasie ManagementFactory
. O Eclipse => Konfiguracja pokazuje, że nadal używa JDK 6 (java.runtime.version=1.6.0_37-b06-434-11M3909
), ale muszę JDK 7.
Tak próbowałem następujące (jak opisano także na StackOverflow i innych miejsc):
- dodatku
-vm /Library/Java/JavaVirtualMachines/jdk1.7.0_13.jdk/Contents/Home/bin/java
do pliku eclipse.ini (dwukrotnie sprawdzane ścieżce właściwego położenia w pliku według eclipse website, a także dodaje się nowej linii pomiędzy) - Taką samą do info.plist
$ /Applications/eclipse/Eclipse.app/Contents/MacOS/eclipse -vm /Library/Java/JavaVirtualMachines/jdk1.7.0_13.jdk/Contents/Home/
- Utwórz dowiązanie symboliczne od 1,6 do 1,7
Ale bez powodzenia, Eclipse wciąż zaczyna się od JDK-6. Dziwne, że mogę jednoznacznie zmienić JRE w Run=>Run Configurations
na JDK7 i uruchomi to w ten sposób. Ale nie chciałbym tego zmieniać dla każdego uruchamianego pliku.
Jakieś dalsze sugestie?
Dzięki wskazówce od EECOLOR, byłem w stanie korzystać z wtyczki Scala w Eclipse Juno, gdzie JDK7 działa dobrze. Jednak teraz wpadłem na coś, co wydaje się być problemem zależności. Wyjątek, jaki dostaję, można zobaczyć tutaj: https://gist.github.com/anonymous/ac0f3a3655419e5149fa
Co dziwne, plik zaczyna się poprawnie po uruchomieniu go z wiersza poleceń z prostym java -cp JARFILE com.AND-SO-ON.file
. Do budowania źródeł i uzyskiwania zależności używamy SBT.
My Eclipse.ini wygląda następująco (domyślnie wyjątkiem 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
tego samego projektu (tj naprawdę ten sam projekt, a nie tylko ten sam kod) przebiega bez problemów z zależnościami w Eclipse Indygo.Edycja: Dowiedziałem się, że ten wyjątek jest spowodowany przez JDK7, a nie wersję Eclipse.
Widzę, że dodałeś kolejną edycję. O ile mogę powiedzieć, problem w stosie rzeczywiście nie ma nic wspólnego z Eclipse. Jeśli potrzebujesz pomocy w rozwiązaniu problemu znalezionego w stosie, polecam rozpocząć nowe pytanie. – EECOLOR