2017-06-18 77 views
0

我使用peersim从Eclipse的,它是充分利用这3个库:为什么我一直没有找到课堂?

/home/luca/peersim-1.0.5/djep-1.0.0.jar 
/home/luca/peersim-1.0.5/peersim-1.0.5.jar 
/home/luca/peersim-1.0.5/jep-2.3.0.jar 

,并执行主类peersim.Simulator

但是,现在我想从命令行执行它(第一次为我从命令行使用java)。我试着用:

java -cp /home/luca/peersim-1.0.5/peersim-1.0.5.jar peersim.Simulator 

但当然,我得到这个异常:

Exception in thread "main" java.lang.NoClassDefFoundError: org/lsmp/djep/groupJep/GroupI 
    at peersim.config.Configuration.setConfig(Configuration.java:319) 
    at peersim.Simulator.main(Simulator.java:154) 
Caused by: java.lang.ClassNotFoundException: org.lsmp.djep.groupJep.GroupI 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    ... 2 more 

所以读围绕我想:

java -cp /home/luca/peersim-1.0.5/*.jar:. peersim.Simulator 

但我得到这个错误:

Error: Could not find or load main class peersim.Simulator 

我该如何解决这个问题?

+0

为什么不给你的jar文件的清单有它自己合适的CLASSPATH语句在里面呢? –

+0

你不能在类路径中使用'*'通配符。明确添加所有三个罐子。 – Henry

+1

@Henry自Java 6开始,您可以 –

回答

0

我发现了错误由我自己:

java -cp /home/luca/peersim-1.0.5/*: peersim.Simulator 

相反的:

java -cp /home/luca/peersim-1.0.5/*.jar:. peersim.Simulator 

问题解决了

+1

正如我标记的副本所示。 –

相关问题