我在我的项目里引用了Log4j.jar和dom4j等。
用Jbuilder2006开发的。在Jbuilder2006里能正常运行。可是如果在DOS的Console里运行却提示以下的错误:F:\jb\VisitManage\classes>java Visit.VisitServer
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/Logg
er
        at Visit.VisitServer.<clinit>(VisitServer.java:64)
**************************
这是第64行:static Logger lg = Logger.getLogger(VisitServer.class.getName());
*********************************
请问为什么?应该怎么做?
另:我用Jar 把我的项目打包时,是不是也需要把我的项目引用的.jar包也打进去?如何打?谢谢!!!!!!!!!特别感谢!!!!!!!!!!!!!!!

解决方案 »

  1.   

    JB2006 打包 要在 Dependencies 中把引用的其他包也选择为include all 才行
      

  2.   

    错误应该怎么解决?我不是用的Jbuilder打包。用的是jar命令。
      

  3.   

    static Logger lg = Logger.getLogger(Visit.VisitServer.class.getName());
      

  4.   

    那就要把你用到的包手工加入你的jar包
    或者是在启动你的jar包的时候,通过bat命令启动时候手工设置classpath,显示的加载要用的其他jar
      

  5.   

    使用java -cp或者-classpath 参数指定你的classpass -cp <class search path of directories and zip/jar files>
     -classpath <class search path of directories and zip/jar files>
                   A ; separated list of directories, JAR archives,
                   and ZIP archives to search for class files.
      

  6.   

    jb  没用过,不过大jar包可以在打完的jar包中的manifest文件中指定
    Class-Path:log4j.jar,
    如果直接运行,就用awaysrain(绝对零度)(既然选择了远方就要日夜前行) ( ) 所说的
    在写个.bat文件就可以饿