设为首页 收藏本站
查看: 956|回复: 0

[经验分享] 异常总结

[复制链接]

尚未签到

发表于 2017-2-28 12:06:43 | 显示全部楼层 |阅读模式
  一、org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.ptn.uim.bean.UimServFileRecord.uimServFileDatas,
  no session or session was closed
  错误原因:
  原因是在hibernate映射关系中由于延迟加载,session在调用前已经被关闭,,所以加载set属性时无可用session
  解决方案:
  在 @ManyToOne端设置fetch=FetchType.LAZY,@OneToMany端设置fetch=FetchType.EAGER,如下配置
  @ManyToOne(cascade={CascadeType.REFRESH, CascadeType.MERGE}, optional=true, fetch=FetchType.LAZY)
@JoinColumn(name="uim_serv_file_record_id")
private UimServFileRecord uimServFileRecord;
  @OneToMany(cascade=CascadeType.ALL,fetch=FetchType.EAGER,mappedBy="uimServFileRecord")
private Set<UimServFileData> uimServFileDatas=new HashSet<UimServFileData>();
         
  二、http://java.sun.com/jsp/jstl/core cannot be resolved either web.xml or the jar files deployed whth this application
  解决办法:
  有其他解决办法,但是最保守的做法是将jstl.jar、standard.jar这两个jar包直接拷贝到工程的lib目录下
  三、
  List<EvdoKeyInfo> evdoKeyInfos=null;
  evdoKeyInfos.add(new EvdoKeyInfo(arrs[0], arrs[1])); --->会抛出空指针异常
  解决办法:
  List<EvdoKeyInfo> evdoKeyInfos=new ArrayList<EvdoKeyInfo>();
  evdoKeyInfos.add(new EvdoKeyInfo(arrs[0], arrs[1]));
  四、Could not synchronize database state with session解决方法
  错误原因:
  修改数据库映射实体bean时,数据库未对应更新导致的
  解决办法:
  此处使用hibernate.hbm2ddl.auto自动生成表结构,把oracle中的表和序列号删除,然后启动tomcat重新生成表和序列号
  五、在myeclipse中安装svn,可能先前安装的adt插件无法使用解决办法
  解决办法如下:
  1)、首先找到myeclipse安装目录,如我的myeclipse安装在D:\dev\目录下
  2)、接着在D:\dev\MyEclipse 6.5\eclipse\configuration目录下,找到org.eclipse.update文件夹并删除此文件夹
  3)、重新启动myeclipse,大功告成
  六、java中url带中文参数或空格导致乱码问题
  解决办法如下:
  new String(message.getBytes("iso-8859-1"), "gb2312");
  七、启动PL/SQL Developer 报字符编码不一致错误 ,报类似如下异常
  Database character set (AL32UTF8) and Client character set (ZHS16GBK) are different.
Character set conversion may cause unexpected results.
  Note: you can set the client character set through the NLS_LANG environment variable or the NLS_LANG registry key in
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_Oracle_10g.
  解决办法如下:
  打开注册表,通过命令regedit。找到文中提示的路径,发现NLS_LANG键的值为: SIMPLIFIED CHINESE_CHINA.ZHS16GBK
  修改为:SIMPLIFIED CHINESE_CHINA.AL32UTF8即可
  八、org.hibernate.HibernateException: No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here
  这是由于没有配置事务或事务配置没成功导致的
  解决办法如下:
  把其中的 getCurrentSession改成 openSession 就可以使用! 很明显是因为那个allowCreate的问题,当没有事务启动的时候,getCurrentSession是无法创建Session的! 说明配置事务没有成功!
  九、JavaMail的java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream错误
  原因:MyEclipse6.5的javaee.jar中的mail包与JavaMail包有冲突。
  解决办法如下:
  在MyEclipse目录下,找javaee.jar包,用WinRar打包,删除里面的mail目录,然后加入mail.jar和activition.jar。
  javaee.jar路劲D:\dev\myeclipse\myeclipse\eclipse\plugins\com.genuitec.eclipse.j2eedt.core_6.5.0.zmyeclipse650200806\data\libraryset\EE_5
  十、MyEclipse8.5安装插件
  在Myeclipse8.5安装目录D:\dev\MyEclipse 8.5\dropins下,新建文件夹plugins 和 features ,然后把插件放到相应的文件夹下重启。
  注意:如果文件夹plugins 和 features 已存在则不用新建。
  十一、tomcat部署项目
  配置步骤如下:在D:\apache-tomcat-6.0.18\conf\Catalina\localhost(若/Catalina/localhost文件不存在则自己创建下)目录下配置部署文件,新建一个xml文件取名为DS_Trade.xml(文件名可以随意取,建议取个有意义的名字),添加如下内容:
  <Context path="/DS_Trade"  debug="0" docBase="F:\workspace\DS_Trade\WebRoot"></Context>
  注意:DS_Trade跟Web Context-root(右击项目->Proterties->MyEclipse->Web)一致。
  十二、用java调用webservice客户端
public static void main(String[] args) throws MalformedURLException {
    SimpleService simpleService=new SimpleService();
    SimpleServicePortType type=simpleService.getSimpleServiceHttpSoap11Endpoint();
    int price=type.getPrice().getReturn();
    String greet=type.getGreeting("ljq");
    System.out.println(price+" : "+greet);
}
  十三、设置tomcat编码

  <Connector port="8080" protocol="HTTP/1.1" URIEncoding="UTF-8"
               connectionTimeout="20000"
               redirectPort="8443" />
  特别引起我注意的是 URIEncoding="UTF-8" ,如果不设置,url上传递的中文就不能被正确解码。提醒各位使用utf-8编码的朋友注意使用tomcat的这个设置,在service.xml中配置。
  十四、
  JavaMail的java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream
  java.lang.NoClassDefFoundError: com/sun/activation/registries/LogSupport错误
  环境:
  MyEclipse和JDK1.6环境,加入JavaMail1.4.3的jar包。
  运行测试报java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream 。
  原因:
  MyEclipse6.5的javaee.jar中的mail包与JavaMail包有冲突。
  解决:
  在MyEclipse目录下,找javaee.jar包,用WinRar打包,删除里面的mail目录和activition目录,然后加入mail.jar和activition.jar
  十五、java.lang.NoSuchMethodError: javax.persistence.OneToMany.orphanRemoval()Z 解决办法
  异常原因:
javaee.jar中的部分类与hibernate-jpa-2.0-api-1.0.0.Final.jar存在版本冲突.
  解决办法:
在Java EE 5 Libraries中删除persitence的使用。
  操作步骤:
用RAR打开javaee.jar,删除javax下的persitence目录,javaee.jar在D:\dev\MyEclipse 6.5\myeclipse\eclipse\plugins\com.genuitec.eclipse.j2eedt.core_6.5.0.zmyeclipse650200806\data\libraryset\EE_5\目录下。
  十六、tnsnames.ora配置
  ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = oracle服务名)
    )
  )
命令:tnsping ORCL
  十七、url中的参数含有空格,导致请求失败的解决方案
  解决办法:
%20代替url参数中的空格,如:urlStr=urlStr.replace(" ", "%20");
  十八、 jetty部署异常
  jetty部署项目时报了如下异常:
rg.apache.jasper.JasperException: PWC6345: There is an error in invoking javac.  A full JDK (not just JRE) is required
  最终解决方案如下:
在eclipse——>Window——>prefence——>java——>Installed JREs,使用java jre会部署失败,使用java jdk即可成功。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-348439-1-1.html 上篇帖子: 【转】使用 CXF 做 webservice 简单例子 下篇帖子: 安卓巴士总结了近百个Android优秀开源项目,覆盖Android开发的每个领域
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表