我用eclipse写了一个客户端程序,在eclipse下运行没有问题,由于在eclipse中跑客户端不方便,然后打算写一个.bat文件来调用class文件,已经把用到的.jar包都放到lib目录下面了,也能找到class文件,但是一运行.bat文件就报错:Exception in thread "main" java.lang.IncompatibleClassChangeError: Implementing
class,我怀疑是java版本不一致,但是我建立eclipse工程用的是jdk1.5,系统的path设置的也是jdk1.5,为什么还会报错呢?请高人指点一下,先谢谢了!
.bat文件如下:
@echo off
set TMP_CLASSPATH=%CLASSPATH%
set CLASSPATH=%CLASSPATH%;.\lib\for %%i in (".\lib\*.jar") do call ".\cpappend.bat" %%iset F_CLASSPATH=%CLASSPATH%
set CLASSPATH=%TMP_CLASSPATH%
set JAVA_HOME="C:\Program Files\Java\jdk1.5.0_09"
title GetFltInfoFullMsgTest
%JAVA_HOME%\bin\java -cp "%F_CLASSPATH%" com.travelsky.fgos.interfaces.webservice.client.getFltInfoFull.getFltInfoFullClientPAUSE
其中:cpappend.bat文件为:set CLASSPATH=%CLASSPATH%;%1
系统的path=C:\Program Files\Java\jdk1.5.0_09\bin; JAVA_HOME=C:\Program Files\Java\jdk1.5.0_09
class,我怀疑是java版本不一致,但是我建立eclipse工程用的是jdk1.5,系统的path设置的也是jdk1.5,为什么还会报错呢?请高人指点一下,先谢谢了!
.bat文件如下:
@echo off
set TMP_CLASSPATH=%CLASSPATH%
set CLASSPATH=%CLASSPATH%;.\lib\for %%i in (".\lib\*.jar") do call ".\cpappend.bat" %%iset F_CLASSPATH=%CLASSPATH%
set CLASSPATH=%TMP_CLASSPATH%
set JAVA_HOME="C:\Program Files\Java\jdk1.5.0_09"
title GetFltInfoFullMsgTest
%JAVA_HOME%\bin\java -cp "%F_CLASSPATH%" com.travelsky.fgos.interfaces.webservice.client.getFltInfoFull.getFltInfoFullClientPAUSE
其中:cpappend.bat文件为:set CLASSPATH=%CLASSPATH%;%1
系统的path=C:\Program Files\Java\jdk1.5.0_09\bin; JAVA_HOME=C:\Program Files\Java\jdk1.5.0_09
2008-12-25 20:58:32,281 INFO [com.travelsky.fgos.interfaces.webservice.client.getFltInfoFull.getFltInfoFullClient] - 初始化:...
log4j:WARN No appenders could be found for logger (org.springframework.core.CollectionFactory).
log4j:WARN Please initialize the log4j system properly.
2008-12-25 20:58:56,375 INFO [com.travelsky.fgos.interfaces.webservice.client.getFltInfoFull.getFltInfoFullClient] - 初始化结束!
2008-12-25 20:58:57,000 INFO [com.travelsky.fgos.interfaces.webservice.client.getFltInfoFull.getFltInfoFullClient] - 开始:
checkPoint = 20081223000020
.....bat文件运行后
2008-12-25 21:29:20,531 INFO [com.travelsky.fgos.interfaces.webservice.client.ge
tFltInfoFull.getFltInfoFullClient] - 初始化:...
log4j:WARN No appenders could be found for logger (org.springframework.core.Coll
ectionFactory).
log4j:WARN Please initialize the log4j system properly.
2008-12-25 21:29:44,796 INFO [com.travelsky.fgos.interfaces.webservice.client.ge
tFltInfoFull.getFltInfoFullClient] - 初始化结束!
Exception in thread "main" java.lang.IncompatibleClassChangeError: Implementing
class
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:12
4)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at com.travelsky.fgos.interfaces.service.webservice.dynamicfltinfo.FltIn
foSvcPortTypeProxy._initFltInfoSvcPortTypeProxy(FltInfoSvcPortTypeProxy.java:18) at com.travelsky.fgos.interfaces.service.webservice.dynamicfltinfo.FltIn
foSvcPortTypeProxy.<init>(FltInfoSvcPortTypeProxy.java:8)
at com.travelsky.fgos.interfaces.webservice.client.getFltInfoFull.getFlt
InfoFullClient.main(getFltInfoFullClient.java:73)
唯一不同的是,eclipse建立项目时选定环境是1.5,.bat文件是利用系统的,但是两个都是指的一个啊
所以帮楼主顶下。