在eclips+tomcat开发的一个小的应用,自己机器上tomcat+resin测试都没有问题,可是把项目文件拷贝到老板机器上就无法运行!他用的resin。错误情况如下:
1.全部用jsp编写,无.java文件则没有任何问题。
2.把tomcat中的项目文件直接拷贝到自己机器上的resin下,可以运行,放老板机器就不行!
   (我已经把需要的jar包都放在WEB-INF\lib下面了,随项目文件一起移植)
3.打war包移植,情况同2。
4.经测试,项目中含有.class的文件的,就会出错,说该类如何如何(控制台在老板机器上,现在看不到:( )
5.把所有.class替换成.java让他的resin重新编译,当该类内容极简单时(eclipse的servlet模版),可以通过!但所需项目的servlet就无法被编译声称.class。
6.我原以为是jdk版本问题,但我把我的1.6卸载了换成他的1.4,还是这问题,真没办法了!
7.如果把源代码用他机器上的eclips重新打war包,就可以使用了。总体上就是我的项目文件,到他机器上,servlet、Bean等都无法使用,但jsp文件没有问题。
实在无奈了,请大家帮看看到底什么问题。

解决方案 »

  1.   

    如果把源代码用他机器上的eclips重新打war包,就可以使用了。 
    感觉就是你jdk,或者servet版本不一致造成的!
      

  2.   

    你在你机子上装个resin看下怎么样,最好和boss的一致
      

  3.   

    回1楼:
    除了jdk提供的类库,其他会用的3个jar(jdbc,commosn fileupload,commons-io)我都放在项目文件里一起考过去的。请问2楼:
    我自己装了老板的jdk1.4还是有这个问题,请问servlet版本这是啥概念?回3楼:
    我装了老板的resin,在自己机器上,只要把项目文件拷贝过来就可以直接运行!
      

  4.   

    今早又试了一下,无论jdk版本,.class文件总是找不到类。
      

  5.   

    你编译好的class文件是放在哪里的?
    是放在WEB-INF/class下吗?
    若是放在该文件夹下 各层包的路径是否正确。7.如果把源代码用他机器上的eclips重新打war包,就可以使用了。 
    根据你的第7条 你把BOSS机器上打包的可用的war
    解压缩看看和你发布的版本的差异在哪里
      

  6.   

    你老板的机器是不是装了httpServer了,例如IIS,或者APCHE等.
    另外resin 肯定是能运行你的程序的..我想可能跟iis ,apache这些有关,servlet不支持..servlet 2.5
      

  7.   

    晕,是呀,如果包含class或servlet的时候报的啥错呀,个人感觉有可能是缺少部分jar包造成的,因为有些jar包可能在你的classpath有设,但boss的没有的话,就会出现这种情况,而通过它的电脑电脑打war的话,是不是就已经包含了呢,
    那你可以比较一下你打的war和他打的有啥区别,都用winrar解开来一个目录一个目录的比较
      

  8.   

    又看了一下,老板打的war包跟我的目录结构完全一样,web.xml内容也完全一样。
    就是编译的class文件大小不同。
      

  9.   

    噢,那可能是在eclipse中项目编译设置的版本不一样导致的,你看一下两台机子上相应的项目属性
      

  10.   

    挺诡异,先排出你老板或你的Web服务器是否有问题,检查一下 classpath 下是否有不知名的 jar 包,解压一个干净的 Tomcat,手动部署上你的项目,运行看看结果。