must be caught or declared to be thrown应该是你的代码写的不够严谨吧.

解决方案 »

  1.   

    对阿,应该用try\catch包围。可是我只是做发布工作,不能随便改人家的代码呀,因此不能通过修改代码来解决问题。
      

  2.   

    不知道楼上是不是指的源代码的其他问题?源代码中就是因为缺少了一个catch语句,所以才出的错,并没有其他问题,这我已经通过添加catch语句的方法测试过了。至于xml里,只是有一小段编译代码,两个项目中是一样的。
      

  3.   

    如果是java.lang.OutOfMemoryError,应该是ant溢出了,可以再编译一次。
    java.sql.SQLException; must be caught or declared to be thrown 可能是因为不同的服务器有不同的Jar包,不然不会的。
      

  4.   

    must be caught or declared to be thrown 
    加了try / catch or throws 将异常进行处理就OK了.
      

  5.   

    Kenli,outofMemoryError的问题,的确是可以重启Eclipse通过重新编译来解决,我就是这么解决的。大家还是没有明白我的意思,呵呵,我是想知道什么原因造成两种编译效果不同,而不是想知道怎样才能编译通过。因为对于源代码中少了catch,我不可能去修改别人的代码。
    我是从CVS服务器1上取项目源代码到本地建立项目1,然后通过wincvs上传到CVS服务器2,从而建立CVS服务器2,然后再将CVS服务器2上的代码取到本地建立了项目2,所以这两个项目用的jar包,源代码,ant代码是一样的,不同的只是ant里指定的CVS服务器路径。ant的时候执行的是将cvs服务器上最新的源代码、jar包等下载到本地,然后进行编译。我想,既然两个CVS服务器的源代码等都一样,那么是否是两个CVS服务器差别造成的这个问题呢?大家说的catch\outofMemoryError的问题,只是表面的,而不是根本的阿!请大家再帮我想想。
      

  6.   

    实际编译的并不是这两个项目中的代码,而是利用这两个项目的CVS路径与项目中的build.xml,build.xml里执行的是从两个项目所属的CVS服务器来取服务器上的最新代码(不关这两个项目的事儿),保存到另外的路径,然后对保存的代码进行编译。
      

  7.   

    我好像看到过有的语句在JDK1.4下不抛异常,却在JDK1.5下要抛异常,是不是使用的JDK或其他库有不同版本?
      

  8.   

    这个好像不会,因为这两个项目都是从不同的CVS服务器上当下同样的代码到我的机子上,然后用我机子的jdk1.4编译的。
      

  9.   

    嘿嘿  
    cvs服务器 应该都是一样的
    你看看是不是自己不小心改了点代码 传到2上去了
    另外自己看看你的build.xml 到底执行哪些,每个都是起什么作用。