最近在做arcgis server,一个问题就是有些东西只能在较早版本的jdk和tomcat上跑,如果版本太新了,就有可能出问题。比如:我装一个arcgis 9.3 server javascript api服务,别人的机器上好好的没问题,我自己按步骤装了,怎么都有问题,就算把别人的整个tomcat拷过来,还是不行。鼓捣几天,都搞不清楚问题在哪里。今天猛然想到:可不可能不是我的问题,而是环境的问题?比如jdk和tomcat版本不对?----因为我用的都是最新本版的jdk 1.6.0_07和tomcat 6.0。于是二话不说,立即装上老版本,过程如下:
1 . jdk 1.5.0_01安装。
这个不废话了,关键是我想同时使用jdk 5和jdk6,又不想把我的环境弄得乱糟糟----原来的环境变量是1.6的不想改,仅在需要的时候使用jdk1.5,因此环境变量不动。
2. tomcat 5.5.26
原来的tomcat 6也不想动,于是修改conf/server.xml,把用到的三个端口改一下就可以了---只要不和tomcat6冲突,不和其他软件端口冲突就可以。
3. 由于tomcat 5默认使用的是系统设置的环境变量,里面指定的jdk为jdk1.6,而在这里我想用的是jdk1.5,
于是需要做如下改动:
在tomcat 5的bin目录下的setclasspath.bat文件开始加上如下指定:
set JRE_HOME=C:\jdk1.5.0_09
set JAVA_HOME=C:\jdk1.5.0_09
set JSSE_HOME=C:\jdk1.5.0_09
这样启动tomcat时,就会使用指定的jdk1.5而不是默认的环境变量里设置的jdk1.6。
至此,jdk1.5+tomcat 与 jdk1.6+tomcat 6就完美的共存了。
另外,我的arcgis 9.3 server javascript api服务使用jdk1.5+tomcat,一下就成功了,原来在jdk1.6+tomcat 6下死活都成不了的,害我浪费了好几天时间,真叫人无语。看来使用这些玩意,还真得注意----但,可恨的是为什么arcgis 9.3 server javascript api在jdk1.6下不能用都不给一个说明?甚至连简单的一句提示都没有,还得靠用户来慢慢琢磨,真受不了。
Bad version number in .class file
……
解决办法就是在myEclipse中改变编译器,具体方法:
Project->Properties->Java Compiler->Configure Workspace Setting,在弹出的页面中可以进行设置。
当然,以后用jdk1.6的话别忘了再改过来。