如何在eclipse

时间:2016-02-25 15:22:44

标签: java eclipse apache

Exclaimer:关于eclipse和java,我几乎是一个完整的菜鸟,但我正在学习! :D谢谢你的帮助

我正在使用apache commons io创建一个外部服务器日志,该日志保存在文件中并显示在服务器控制台本身中。我将正确的文件添加到外部jar库中,它都在eclipse中运行,但是当我导出它并尝试在它自己运行时,我得到了这些错误

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/io/output/TeeOutputStream
at com.josh.chat.server.ServerMain.<init>(ServerMain.java:10)
at com.josh.chat.server.ServerMain.main(ServerMain.java:17)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.io.output.TeeOutputStream
at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 2 more

发生了什么事?我该如何解决这个问题,或者至少还有另一种方法让我使用控制台并将该控制台的日志保存到文本文件中?

编辑:我没有改变任何东西(至少我认为我没有改变......)并试图再次运行它然后得到了这个不同的错误,我做了什么?

no main manifest attribute, in InstantChatServer.jar

1 个答案:

答案 0 :(得分:0)

可能你的问题现在可能已经解决但是在更广泛的范围内如果你需要更多的依赖/库那么你将需要编辑类路径以及客户端(正在执行java -jar的人)。需要在他的盒子中存在这些依赖关系。如果有这样的依赖关系那么多。理想情况下,您应该更喜欢maven,gradle等构建工具,并将jar / dependencies与您的代码捆绑在一起。因此,客户端无需担心在本地框中使用库。