2009-11-10 11 views
23

Czy jest możliwe dołączenie pliku jar z uruchomionym interpreterem Scala?Dołącz plik jar w tłumaczu Scala

mój kod działa, gdy mogę skompilować z scalac:

scalac script.scala -classpath *.jar 

Ale chciałbym, aby móc dołączyć plik jar podczas uruchamiania interpretera.

Odpowiedz

19

Według scala pomoc wykonywalnego wszystkich opcji skalaca są dozwolone, , więc możesz uruchomić scala -classpath some.jar, właśnie próbowałem i wygląda na to, że działa

24

W scala2.8, można użyć

scala>:jar JarName.jar 

dodać słoik do ścieżki klasy.

W Scala 2.8.1, nie jest: słoik ale: cp

A w Scala 2.11.7 to nie jest: cp ale: re (quire)

+0

niesamowite! gdzie/jak się tego nauczyłeś? – javadba

+3

Próbowałem tego i otrzymałem wiadomość o sukcesie ... ale to nie zadziałało. Dodano "/shared/spark-core_2.10-0.9.0-incubating-SNAPSHOT.jar". Twoja nowa ścieżka klasy to: ".:/Shared/spark-core_2.10-0.9.0-incubating-SNAPSHOT.jar". Ale import nie działa. (Uwaga: Sprawdziłem importowanie podczas dodawania za pomocą wiersza poleceń classpath) – javadba

+0

To samo z javadba: import nie działa, gdy słoik jest dodany do ścieżki klasy w interpretera, a pojawi się komunikat o błędzie * "Obiekt xxx nie jest członkiem pakietu yyy "* podczas robienia tego. – lcn

2

w moim przypadku używam programu Scala Code Runner w wersji 2.9.2. i musiałem dodać znaki cudzysłowu. Używam tego jar pliki:

JDOM-b10.jar, rzym-0.9.jar

i wszystko idzie w porządku z tym:

scala -classpath "*.jar" feedparser.scala 
5

zawierać wiele słoiki int Scala REPL 2.10.0 -RC2

scala -classpath my_1st.jar:my_2nd.jar:my_3rd.jar 
2

W Scala wersji 2.11.6 z użytkowania Scala REPL :require, najlepiej można zorientowali się za pomocą :help z REPL

Na przykład:

$ scala 
Welcome to Scala version 2.11.6 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_45). 
Type in expressions to have them evaluated. 
Type :help for more information. 
scala> :require lift-json_2.11-3.0-M5-1.jar 
Added '<path to lift json library>/lift-json/lift-json_2.11-3.0-M5-1.jar' to classpath. 
0

Scala wersji 2.11.5:

Oto przykład dodania wszystkie słoiki w pamięci podręcznej bluszcz:

scala -cp /Users/dbysani/.ivy2/cache/org.apache.spark/spark-streaming_2.10/jars/* 

scala> import org.apache.spark.streaming.StreamingContext 
import org.apache.spark.streaming.StreamingContext 

Można również utworzyć lokalną folder wszystkich słoików, które musisz dodać i dodać w podobny sposób.

Mam nadzieję, że to pomoże.