我有一个 Scala 项目,我想将其导出为 jar。
*1。起初我尝试为项目创建一个 Java 类作为入口点
public class JMain {
public static void main(String[] args) {
System.out.println("Java main calling Scala main");
SMain.main(new String[] {""}); //SMain.main is the actual *main*
当从 Eclipse 启动时,这工作得很好而且很花哨,但是当我将它导出为 jar 时,它会给我 18 个左右的异常。我现在确实知道如何复制 Eclipse 设法启动它的“环境”,我很确定它依赖于 Scala 已经在我的系统上的事实——我需要一个包含所有东西的自包含 jar。
*2。我的第二次尝试包括尝试lach在这里建议的内容如何从 Eclipse 部署 Scala 项目? 即:
public class JMain {
public static void main(String[] args) {
System.out.println("Java Main");
List<String> argList = new ArrayList<String>();
argList.add("fully.qualified.ClassName"); //???
for (String s : args) argList.add(s);
scala.tools.nsc.MainGenericRunner.main(argList.toArray(new String[0]));
这次它甚至不会从 Eclipse 运行,尽管它只给出了 6 个左右的异常,从著名的NoClassDefFoundError开始。我有一种感觉,我没有完全正确。qualified.ClassName。*3。如果主要的Scala 类被称为“Dis.scala”并且位于包“pack”中,那么这个fully.qualified.ClassName不应该是“pack.Dis”吗?
我正在使用 Jre 1.6 和 Scala 2.9.2 编辑:我已经包含了所有外部导入的 jar,甚至是 scala-library.jar - 一切都很好并且装在 jar 中
PS 我不熟悉 Ant 或 Maven 或 Sbt。我只想让我的 Scala 项目 jared - 如果可能的话,不要卷入毛茸茸的事情。