刚完成一个自动收取mail并过滤每封mail的内容(分割正文提取信息及保存附件),将工程打包成jar,用java -jar命令运行时报错,log4j类没找到,工程里引用了很多第3方的jar,如log4j,hibernate,mail等,调用log4j的代码处于最前。
现把解决问题的办法写在这里(2种):
首先将应用打包jar,不要将用到的第3方包一起打进去,然后
方法1.将使用到的第3方jar全复制到%JAVA-HOME%/jre/lib/ext 文件夹下,运行java -jar *.jar
不过不能保证以后运行其他java应用的时候不会出现冲突
方法2.建立一个文件夹,将打包的应用程序和第3方包都放到里面,修改应用程序jar里的MANIFEST.MF文件,在文件里加上这样语句:Class-Path: mail.jar log4j-1.2.11.jar activation.jar antlr-2.7.5H3.jar
其中“mail.jar log4j-1.2.11.jar activation.jar antlr-2.7.5H3.jar ”这些就是引用的第3方包的名称,多个包名称之间空格即可!
本文介绍了解决Java应用在使用log4j时遇到的类未找到错误的方法。提供了两种解决方案:一是将第三方jar文件放置于%JAVA_HOME%/jre/lib/ext目录下;二是通过修改应用程序jar文件中的MANIFEST.MF文件来指定第三方库路径。
220

被折叠的 条评论
为什么被折叠?



