日期:2014-05-20  浏览次数:20709 次

命令行执行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