1.惯例,先说
     
      
       需求
      
     
     :
    
   
    
     由于小弟新手,带领团队合作开发,需要在局域网内将本人电脑上的工程拷贝到其他人电脑上进行开发,所以产生了一系列问题,在这里做个记录,以便以后注意及查看。
    
   
    
     
    
   
    
     2.产生的
     
      
       问题
      
     
     :
    
   
    
     
     
     1)
     
      
       中文乱码
      
      :
     
     java程序中出现的中文成为乱码。
    
   
    
     
     
     2)
     
      
       xml报错
      
     
     :众多xml文件出现报错,包括第一行出现
     
      
       No grammar constraints (DTD or XML Schema) referenced in the document
      
      等错误。
     
    
   
    
     
     
     3)
     
      
       getContextPath()无法识别:
      
     
     项目中用到的多个绝对路径无法识别。
    
   
    
     
     
     4)
     
      
       hibernate连接报错:
      
     
     sessionFactory实例初始化失败。
    
   
    
     
    
   
    
     3.解决方案:
    
   
    
     
     
     1)
     
      
       中文乱码:
      
     
    
   
    
     
     
     原因:当然是编码字符集的问题了。
    
   
    
     
     
     解决:最好是改变当前工作空间的编码方式。
    
   
    
     
     
     window–>preference–>General–>Workspace.左下角改变一下字符编码方式,选择utf-8或者gbk,改完看效果即可。
    
   
    
     
     
    
   
    
     
     
     当然也可以只改变当前工程的编码方式。
    
   
    
     
     
     在工程名上右击–>Properties–>Resource–>改变编码方式(Text file encoding)
    
   
    
     
     
    
   
    
     建议采用第一种方式,不过可能会造成其他工程的混乱。
    
   
    
     
    
   
    
     
     
     2)
     
      
       xml的报错:
      
     
    
   
    
     
     
     原因:我在没有解决错误1)的时候先处理了错误3),导致阐释此错误。
    
   
    
     
     
     解决:将程序彻底清除,之后重新导入,先查看是否有中文编码错误并解决,然后再处理其他错误。
    
   
    
     
    
   
    
     
     
     3)
     
      
       getContextPath()无法识别:
      
     
    
   
    
     
     
     原因:原有主机与目标主机的jdk版本不相同,在拷贝工程时并没有将jdk或者jre包含在工程中,导致jar library 无法从本机上识别。
    
   
    
     
     
     解决:将原有jre 的library删除,重新导入本机中安装的jdk。
    
   
    
     
     
     
      
       注意点:因为用到了hibernate,在jdk版本兼容上有一些问题。
      
     
    
   
    
     
      
      
      原来电脑上用的是jdk1.7,hibernate用的3.5。若目标计算机上用的是jdk1.8
      
      
      则会报错。
     
    
   
    
     
     
     具体步骤参考:http://blog.csdn.net/zhanggnol/article/details/6217892
    
   
    
     
     
     4)
     
      
       hibernate连接报错:
      
     
    
   
    
     
     
     原因1:jdk版本不同
    
   
    
     
     
     解决:更换jdk版本。已知hibernate3.5.0与jdk1.7的任意版本是可以匹配的。
    
   
    
     
     
     原因2:硬件或者网络问题。
    
   
    
     
     
     解决:通过ping的方式先排查是否能够连接服务器,若不能连接则应当优先解决这个问题。
    
   
    
     
     
     原因3:tomcat服务器缓存了一些数据,可能影响连接目标服务器。
    
   
    
     
     
     解决:建议clean服务器,再重新发布,依旧不行可以尝试在IDE中删除tomcat,重新建立。
    
   
    
     
     
     原因4:可能是缺少数据库简介hibernate的jar,本人数据库使用oracle10g,所以缺少ojdbc14.jar。
    
   
    
     
     
     解决:找到ojdbc14.jar,加入build path,在配置sessionFactory的xml中,找到oracle.jdbc.driver.OracleDriver,若按住ctrl鼠标移动到上面,发现他是一个超链接(有下划线),则证明ojdbc14.jar已加入路径。
    
   
    
     
    
   
    
     
      总结:注意解决问题的顺序,首先网络能否连接服务器,其次中文编码是否有问题,再其次引用的jar包以及library工程中能否找到,并且注意版本协同问题。最后,刷新或清理tomcat,重新发布。
     
    
   
    
    
   
    
     
    
   
    
     
    
   
 
