使用Java -jar运行Scala应用
我在Java中遇到了一些问题。看看这个。
sebastian@sebastian-desktop:~/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!
太酷了,对,但是如何回合:
sebastian@sebastian-desktop:~/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
哎呀?知道为什么第一个有效而不是第二个有效吗?我如何-jar我的scala?
预先谢谢你,兄弟。
回答:
如果定义-jar,则-classpath会被忽略:
Java手册:
-jar使用此选项时,JAR文件是所有用户类的源,而其他用户类路径设置将被忽略。
您可以在清单元数据中定义类路径依赖项。
启动应用程序的最简单方法是使用scala脚本:
scala -classpath target/scaaaaaaaaala-1.0.jar scaaalaaa.App Hello World!
以上是 使用Java -jar运行Scala应用 的全部内容, 来源链接: utcz.com/qa/425569.html