0
我想從我的Scala項目創建一個可執行的Jar。因此,我遵循了一個教程。它建議在eclipse中創建一個Java主類,該類調用Scala入口點。這在eclipse中執行時很好。添加完這個類之後,我能夠導出一個可執行的jar文件。然而,它不會與從Eclipse使用Java主類的可執行Scala Jar
java -jar myjar.jar
我確保在導出時激活「將所需的庫包裝到jar中」。我的Java主類看起來是這樣的(其中驅動器也位於封裝件芯)
package core;
public class Main {
public static void main(String[] args) {
Driver.main(args);
}
}
並執行出口焦炭的follwing錯誤時拋出,我可以調試:
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)
Caused by: java.lang.NoClassDefFoundError: scala/collection/Seq
at core.Driver$.main(Driver.scala:14)
at core.Driver.main(Driver.scala)
at core.Main.main(Main.java:5)
... 5 more
Caused by: java.lang.ClassNotFoundException: scala.collection.Seq
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
我SBT使用的主要支持的編譯系統,不是與onejar,而是組裝。它工作很好,很容易設置。但是,我在Maven中遇到了一些小問題。說實話,我沒有努力嘗試,因爲我已經跑步了;)我接受你的答案,但是如果其他人直接回答我的問題,它會更好。 – smoes 2014-08-29 07:03:44