刚完成一个自动收取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方包的名称,多个包名称之间空格即可!