运行包含其依赖项的scala jar

时间:2015-01-21 11:29:36

标签: scala jar classpath

我创建了一个具有以下结构的jar

abc.jar /--META-INF /--MANIFEST.MF /--dependancies /--depend1.jar /--depend2.jar /--depend3.jar /--com /--mycompany /--JettyLauncher.class /--otherclass.class

我的清单将classpath和主类声明为: Class-Path: .:./dependancies Main-Class: com.mycompany.JettyLauncher

但是,如果我无法以任何方式使用scala命令运行此jar。

如果我尝试运行scala abc.jar,则会收到错误java.lang.ClassNotFoundException: com.mycompany.JettyLauncher (这意味着它确实阅读了清单!)

如果我尝试运行scala -classpath abc.jar com.mycompany.JettyLauncher,我会为依赖的jar中的一个类获得java.lang.ClassNotFoundException。 我假设这是因为-classpath参数覆盖了清单中的类路径。

当我从罐子里取出槽子并将它放在abc.jar旁边的文件夹中时,我终于能够运行我的罐子了 然后scala -classpath "abc.jar:dependancies/*:." com.mycompany.JettyLauncher终于奏效了。

但是当jar中包含dependancies文件夹时,有没有办法让它工作?

非常感谢,

阿里扎

0 个答案:

没有答案