2013-05-29 17 views
12

Witam faceci Próbuję spakować prosty plik wykonywalny napisany w Scali, za pomocą funkcji eksportu Eclipse.

Przy próbie wykonania Jar z cmd java -jar test2.jar

otrzymuję następujący .... Jakieś pomysły? Dziękuję Ci.

Caused by: java.lang.NoClassDefFoundError: scala/Predef$ 
     at Parser.Test(Parser.scala:5) 
     at Main.main(Main.java:12) 
     ... 5 more 
Caused by: java.lang.ClassNotFoundException: scala.Predef$ 
     at java.net.URLClassLoader$1.run(Unknown Source) 
     at java.net.URLClassLoader$1.run(Unknown Source) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(Unknown Source) 
     at java.lang.ClassLoader.loadClass(Unknown Source) 
     at java.lang.ClassLoader.loadClass(Unknown Source) 
     ... 7 more 

Odpowiedz

7

Trzeba tylko dodać słoik biblioteki scala do ścieżki klasy.

Można zrobić to w ten sposób (przy założeniu, że "scala-library.jar" słoik znajduje się w bieżącym katalogu):

java -cp scala-library.jar -jar test2.jar 

Dokumentacja dla tha java comamnd można znaleźć tutaj: http://docs.oracle.com/javase/6/docs/technotes/tools/windows/java.html

+0

Dziękuję za odpowiedzi . powiesz mi, jak to zrobić? Jestem kompletną nowicjuszką w Scala, Java i Eclipse. – Andy

+0

Zrobiłem aktualizację, sprawdź to. –

+1

Dodawanie biblioteki Scala do ścieżki klas za pośrednictwem środowiska Eclipse: Kliknij prawym przyciskiem myszy na projekcie -> Utwórz ścieżkę -> Konfiguruj ścieżkę konstrukcyjną -> Biblioteki -> Dodaj bibliotekę -> Wybierz bibliotekę Scala –

0

Możesz także spakować bibliotekę scala razem z projektem. Zobacz this zakładać

0

zrobiłem usunięte "Scala Biblioteka pojemnik" od projektu. Next - dodać bibliotekę potrzebne Scala (scala-library.jar) do Java BuildPath (w w Właściwości) jako "Dodaj zewnętrzne JAR ..." w moim bibliotece (nie jako odniesienie do biblioteki scala). I innclude je wszystkie do „Zamówienie i eksportWreszcie - zrobić Export dla projektu z opcją „Pakietu wymaganych bibliotek do generowania jar” i to działa dobrze :)