• 异常总结


    一、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即可成功。

  • 相关阅读:
    iframe自适应高度的多种方法
    jquery 限制上传文件的类型和大小
    20200303 pandas
    20200306 Linux基础
    20200305 VMware虚拟机安装及centOS
    20200310 CMDB基础设计
    20200407 算法与数据结构
    20200403 MongoDB操作以及pyMongo
    20200402 MongoDB安装及简介
    20200401 docker部署与mysql主从搭建django读写分离
  • 原文地址:https://www.cnblogs.com/linjiqin/p/1990041.html
Copyright © 2020-2023  润新知