您需要将Scala添加到类路径中,例如。
-classpath scala-library.jar:.
或者通过添加
-Xbootclasspath/a:scala-library.jar
到VM参数。
抱歉,没有看到最后一个问题。如果您想分发许多人使用的单个JAR文件
ProGuard
从scala-library.jar将所需的类与您的类一起放在一个jar中。
假设你有你的.class文件和
META-INF
MANIFEST.MF
在名为classes的文件夹中,您可以使用以下Proguard配置(在调整路径之后,例如,您需要
rt.jar
在Linux/Windows上而不是
classes.jar
在Mac OS上)保存为
your.pro
-injar classes
-injar /opt/local/share/scala-2.8/lib/scala-library.jar(!META-INF/MANIFEST.MF)
-outjar main.jar
-libraryjar /System/Library/Frameworks/JavaVM.framework/Versions/1.6/Classes/classes.jar
-dontwarn
-dontnote
-ignorewarnings
-optimizationpasses 2
-optimizations !code/allocation/variable
-keep,allowoptimization,allowshrinking class * { *; }
-keepattributes SourceFile,LineNumberTable
-keepclasseswithmembers public class your.Main { public static void main(java.lang.String[]); }
现在您可以创建
main.jar
具有
java -Xmx512m -jar proguard.jar @your.pro
-Xmx
SBT Wiki
.