2010-05-28 10 views
32

Ho avuto qualche problema con java. Controlla.applicazioni scala in esecuzione con java-jar

[email protected]:~/scaaaaaaaaala$ java -cp /home/sebastian/.m2/repository/org/scala-lang/scala-library/2.8.0.RC3/scala-library-2.8.0.RC3.jar:target/scaaaaaaaaala-1.0.jar scaaalaaa.App

Hello World! 

che è cool, giusto, ma come questo attacco:

[email protected]:~/scaaaaaaaaala$ java -cp /home/sebastian/.m2/repository/org/scala-lang/scala-library/2.8.0.RC3/scala-library-2.8.0.RC3.jar -jar target/scaaaaaaaaala-1.0.jar

Exception in thread "main" java.lang.NoClassDefFoundError: scala/Application 
at java.lang.ClassLoader.defineClass1(Native Method) 
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) 
at java.lang.ClassLoader.defineClass(ClassLoader.java:616) 
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) 
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) 
at java.net.URLClassLoader.access$000(URLClassLoader.java:58) 
at java.net.URLClassLoader$1.run(URLClassLoader.java:197) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:307) 
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:248) 
at scaaalaaa.App.main(App.scala) 
Caused by: java.lang.ClassNotFoundException: scala.Application 
at java.net.URLClassLoader$1.run(URLClassLoader.java:202) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:307) 
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:248) 
... 13 more 

Wat diamine? Qualche idea sul perché il primo funziona e non il secondo? Come posso -jar my scala ??

Grazie mille, fratello.

+29

+1 per iniziare la vostra domanda SO con "Yo dawgs" –

risposta

35

Se si definisce la -jar -classpath viene ignorato:

Java manual:

-jar Quando si utilizza questa opzione, il file JAR è la fonte di tutte le classi di utenti, e altri classe utente percorso le impostazioni vengono ignorate.

È possibile definire le dipendenze del percorso di classe nello Manifest metadata.

Il modo più semplice per iniziare la vostra applicazione sta usando gli script Scala:

scala -classpath target/scaaaaaaaaala-1.0.jar scaaalaaa.App Hello World! 
+14

io preferirei un Descartes personale o Newton. :-) –

2

semplice avvio

scala scaaaaaaaaala-1.0.jar 

lavori per me con 2.11.6

Problemi correlati