Scala 在sbt 0.11.2中创建独立jar的sbt包
如何在sbtScala 在sbt 0.11.2中创建独立jar的sbt包,scala,sbt,Scala,Sbt,如何在sbt0.11.2中生成独立的jar 现在我正在尝试sbt包,当我尝试在生成的jar文件上运行java-jar app.jar时,会出现以下异常: Exception in thread "main" java.lang.NoClassDefFoundError: scala/App at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(Cl
0.11.2
中生成独立的jar
现在我正在尝试sbt包
,当我尝试在生成的jar文件上运行java-jar app.jar
时,会出现以下异常:
Exception in thread "main" java.lang.NoClassDefFoundError: scala/App
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
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:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at Test.main(Test.scala)
Caused by: java.lang.ClassNotFoundException: scala.App
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:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
检查-用于构建包含所有代码和依赖项的单个可执行JAR(作为嵌套JAR)的插件。检查-用于构建包含所有代码和依赖项的单个可执行JAR(作为嵌套JAR)的插件。例如,用于创建可执行JAR的插件:
~/src$ git clone https://github.com/ymasory/sbt-prototype.git test
Cloning into 'test'...
[...]
~/src$ cd test/
~/src/test$ sbt sbt-version
[info] Loading project definition from /home/user/src/test/project
[info] Set current project to myproj (in build file:/home/user/src/test/)
[info] 0.11.2
~/src/test$ sbt compile proguard
[info] Loading project definition from /home/user/src/test/project
[info] Updating {file:/home/user/src/test/project/}default-d8cff0...
[info] Resolving com.github.siasia#xsbt-proguard-plugin_2.9.1;0.11.2-0.1.1 ...
[info] Resolving net.sf.proguard#proguard-base;4.6 ...
[...]
[info] Compiling 1 Scala source to /home/user/src/test/target/scala-2.9.2/classes...
[success] Total time: 7 s, completed May 11, 2012 8:08:15 PM
[info] Packaging /home/user/src/test/target/scala-2.9.2/myproj_2.9.2-1.0.0-SNAPSHOT.jar ...
[info] Done packaging.
ProGuard, version 4.6
[...]
[success] Total time: 44 s, completed May 11, 2012 8:09:00 PM
~/src/test$ java -version
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.1) (6b24-1.11.1-4ubuntu2)
OpenJDK Client VM (build 20.0-b12, mixed mode, sharing)
~/src/test$ java -jar target/scala-2.9.2/myproj_2.9.2-1.0.0-SNAPSHOT.min.jar
hello myproj
~/src/test$
例如,用于制作可执行jar的:
~/src$ git clone https://github.com/ymasory/sbt-prototype.git test
Cloning into 'test'...
[...]
~/src$ cd test/
~/src/test$ sbt sbt-version
[info] Loading project definition from /home/user/src/test/project
[info] Set current project to myproj (in build file:/home/user/src/test/)
[info] 0.11.2
~/src/test$ sbt compile proguard
[info] Loading project definition from /home/user/src/test/project
[info] Updating {file:/home/user/src/test/project/}default-d8cff0...
[info] Resolving com.github.siasia#xsbt-proguard-plugin_2.9.1;0.11.2-0.1.1 ...
[info] Resolving net.sf.proguard#proguard-base;4.6 ...
[...]
[info] Compiling 1 Scala source to /home/user/src/test/target/scala-2.9.2/classes...
[success] Total time: 7 s, completed May 11, 2012 8:08:15 PM
[info] Packaging /home/user/src/test/target/scala-2.9.2/myproj_2.9.2-1.0.0-SNAPSHOT.jar ...
[info] Done packaging.
ProGuard, version 4.6
[...]
[success] Total time: 44 s, completed May 11, 2012 8:09:00 PM
~/src/test$ java -version
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.1) (6b24-1.11.1-4ubuntu2)
OpenJDK Client VM (build 20.0-b12, mixed mode, sharing)
~/src/test$ java -jar target/scala-2.9.2/myproj_2.9.2-1.0.0-SNAPSHOT.min.jar
hello myproj
~/src/test$
我能够通过使用
只需按照中的说明运行
sbt assembly
我就可以使用
只需按照中的说明,运行
sbt assembly
我正在尝试安装它,实际上:我正在尝试安装它,实际上:您的build.sbt如何?其他项目配置文件(在project
中)怎么样?build.sbt怎么样?其他项目配置文件(在project
中)如何?