大家好啊
小弟有一个紧急的问题,非web应用,单机程序
我把commons-logging.jar,commons-collections.jar,log4j.jar都放到了eclipse工程的lib目录里
启动类如下:
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;public class EntryClass {
  protected static final Log logger = LogFactory.getLog(Entry.class);  
  public static void main(String[] args) {
     logger.info("in entry method");
  }
}在eclipse里运行一切正常,
但是当我打完jar包后,运行时总提示Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory错误
即使在classpath中设置了以上3个jar包的绝对路经后依然提示相同的错误,
如何才能让jar包找到正确的lib阿?

解决方案 »

  1.   

    把commons-logging.jar,commons-collections.jar,log4j.jar
    放到你的jar包里的lib文件夹下,然后在Manifest.mf中加上
    Class-Path: lib/commons-logging.jar lib/commons-collections.jar lib/log4j.jar
    即原来的jar里面多了一个lib文件夹下面有3个用到的jar
      

  2.   

    Manifest.mf 最后一行加上个回车
      

  3.   

    Manifest.mf
    里加下面的
    Class-Path: lib/commons-logging.jar lib/commons-collections.jar lib/log4j.jar (这有个空格) 
    Main-Class: EntryClass这后边加两个回车
      

  4.   

    以上几位兄弟说的都不错
    另外,把那些jar包拷贝到tomcat/common/lib下也是个解决办法
      

  5.   

    4楼的,说了不是web程序,是单机。
      

  6.   

    打JAR包时主要是注意路径问题 以及MANIFEST.MF文件里面
    Class-Path:  所要加载的包路径,注意空格
    Main-Class:主程序的名字,不需要后缀
      

  7.   

    解压开 打包的jar
    看下不就完了么
    看看到底有没有common 的class
    没有手动加进去 根本解决应该是你eclipse 的配置问题