如何在.bat中运行java程序所要加载的第三方jar包
.bat文件源码
@echo off
java com.pip.wappipgame.forum.top.util.TopThreadRun
pause
放在classes文件中可以执行
TopThreadRun源码
public static void main(String[] args) {
System.out.println("****************************启动线程");
TopThread ttd=new TopThread();
ttd.start();
}
TopThread源码
SimpleDateFormat   df   =   new SimpleDateFormat("dd");   
private TimerManager tm=null;
  public void run(){

    List forumidList = new ArrayList();
  ForumTopDao ftd = new ForumTopDao();
  forumidList = ftd.findAll();
     int day,hours,min,second;
     Date date=new Date();
     day=Integer.parseInt(df.format(date));
     hours=16;
     min=32;
     second=0;
     tm=new TimerManager(day,hours,min,second);
     System.out.println("************************");
  }
其中ForumTopDao需要hibernate的jar包
运行bat报错信息
****************************启动线程
Exception in thread "Thread-0" java.lang.NoClassDefFoundError: org/hibernate/cfg
/Configuration
        at com.pip.wappipgame.dao.BaseHibernateDAO.openSession(BaseHibernateDAO.
java:15)
        at com.pip.wappipgame.dao.ForumTopDao.findAll(ForumTopDao.java:735)
        at com.pip.wappipgame.forum.top.util.TopThread.run(TopThread.java:17)
请按任意键继续. . .
bat所在目录D:\workProject\dev\wpg\WEB-INF\classes
jar包所在目录D:\workProject\dev\wpg\WEB-INF\lib我的环境变量
classes:./;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\jre\lib\*.jar
做过的朋友帮帮忙~只有这么多分了 朋友别嫌弃少

解决方案 »

  1.   

    修改bat, 指定 -classpath 参数即可:
    -classpath "hibernate对应的各个jar包, 分号隔开, 相对于 bat所在目录"
      

  2.   

    java -cp 把你jar目录加进去,具体你可以java -help查看一下。
      

  3.   

    我是这么引的jar包
    set classpath=.;./lib/*.jar
    可还是报错,您能对照我的路径写的详细一些么 谢谢了 网上这样的资源不多
      

  4.   

    -classpath 不能识别 * 这种通配符, 必须挨个指定.
    除非设置boot..那个太麻烦了, 挨个指定简单一些.
      

  5.   

    你最好打jar包的时候用cvfm,这样你的jar都被打进去了,然后你直接写个bat文件,直接双击就能运行了。