命令行执行jar执行文件时,其中使用的log4j出错,但在ECLIPSE 中可以运行
问题如题,
我在用eclipse打包成jar,运行时已经将log4j的jar包放到了执行jar的同一个目录下,而且也在classpath中加入了lo4j的路径;
使用过java -jar xxx.jar和 java -classpath log4j路径 -jar xxx.jar
都报如下错误:Exception in thread "main " java.lang.NoClassDefFoundErrot: org/apache/log4j/Logger
at main.主类名
应该是找不到log4j的包
各位支下招,怎么可以让他找到log4j的包呢?
------解决方案--------------------set CLASSPATH=xxxpath\log4j.jar
java -jar xxxx.jar
------解决方案--------------------eclipse的classpath 和环境的classpath是不同的,写一个ant脚本配置eclipse的classpath
------解决方案--------------------把log4j的jar包和class文件打到一个jar包里面,设置好classpath和mainclass就可以了!
用fatjar打包不错!
------解决方案--------------------请楼上给出具体的例子
我这么做了也不行
我的目录结构
--test
Test.class
--lib
log4j.jar
--META-INF
MANIFEST.MF
MANIFEST.MF的内容
Main-Class: test.Test
classpath: lib/log4j.jar