2011-05-14 83 views
0

我看到running jar from command line从命令行执行罐子里面的罐子

但是我的情况是不同的。我把主类所需的jar放在lib文件夹下。所以我的罐子是这样的:

lib 
META-INF 
VideoFieldsResults.class 
在META-INF

我:

Manifest-Version: 1.0 
Main-Class: VideoFieldResults 

,当我尝试运行:

java -jar VideoFormat.jar onBa32hgnBg,Lh-BKkLYYBU C:\VideoFormat2.csv 

其中最后2有观点我得到:

Exception in thread "main" java.lang.NoClassDefFoundError: com/google/gdata/util 
/ServiceException 

哪个存在于o里面的罐子!

我该如何运行一个命令行,指定jar文件需要lib文件夹下的所有jar文件?

+0

可能重复[Classpath包括JAR内的JAR ](http://stackoverflow.com/questions/183292/classpath-including-jar-within-a-jar) – 2011-05-14 22:38:40

回答

2

默认情况下,Java无法从jar文件中加载jar文件。要做到这一点,你需要一个可以处理它的类加载器。例如One-Jar。还有其他选项(取决于你如何设置罐子里面的罐子,或者如果扁平罐子是一个选项),我建议回答this other question