<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Spring Hibernate在AOP方面的配置沖突
    Spring2.0 Hibernate3.1.x/Hibernate3.2

    在使用Spring的AOP編程時(shí),會(huì)用到這幾個(gè)lib:
    asm-2.2.2.jar
    asm-commons-2.2.2.jar
    asm-util-2.2.2.jar

    Hibernate如果使用lib:
    asm.jar
    asm-attrs.jar

    其中asm-2.2.2.jar與asm.jar存在類上的沖突!!!
    使用其中之一或兩者都使用,可能會(huì)出現(xiàn)如下錯(cuò)誤:
    java.lang.NoClassDefFoundError: org/objectweb/asm/CodeVisitor
    java.lang.NoClassDefFoundError: org/objectweb/asm/commons/EmptyVisitor
    java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit。。。。。。

    解決辦法是:
    1).去掉類路徑上的關(guān)于Hibernate的3個(gè)lib
    asm.jar
    asm-attrs.jar
    cglib-2.1.3.jar
    2).加入Spring中的以下4個(gè)lib
    asm-2.2.2.jar
    asm-commons-2.2.2.jar
    asm-util-2.2.2.jar
    cglib-nodep-2.1_3.jar

    如果再不行,都試試刪刪看。


    java.lang.SecurityException: class "javax.xml.bind.JAXBContext"'s signer information does not match signer information of other classes in the same package
    這個(gè)錯(cuò)誤是因?yàn)檩d入的包里面有兩個(gè)相同路徑的類,就是在一個(gè)包里面有兩個(gè)同名的類
    有可能是將相同的包載入兩次或者把包解開后,先將jar文件載入了,后又將解開的類載入了


    Error configuring application listener of class org.springframework.web.context.ContextLoaderListener
    試試自己去下一個(gè)spring的包,把包里的spring.jar加到項(xiàng)目里去。eclipse生成的時(shí)候可能會(huì)有些包沒有放進(jìn)去。


    Error creating bean with name 'datasource' defined in file
    Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: org/apache/commons/pool/impl/GenericObjectPool
    試試將commons-dbcp.jar,commons-pool.jar和commons- collections.jar加入CLASSPATH中


    hibernate 3.1 中的hibernateTemplate ,class應(yīng)該為org.springframework.orm.hibernate3.HibernateTemplate,而非org.springframework.orm.hibernate.HibernateTemplate,因?yàn)槟承┰蛭椰F(xiàn)在還用3.1,早前在玩springside的時(shí)候感覺hibernate 3.2 的Hibernate Annotations方便多了。

    找不到action或報(bào)錯(cuò)的另一少有原因,一些版本hibernate版本會(huì)有些沖突方面的問題,可換一版本的hibernate試試,個(gè)人感覺hibernate的版本對(duì)應(yīng)用會(huì)比較敏感


    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in resource [/WEB-INF/dataAccessContext-hibernate.xml] of ServletContext: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: javax/transaction/TransactionManager
    java.lang.NoClassDefFoundError: javax/transaction/TransactionManager


    原因:缺少jta.jar 或者是找不到hbm.xml文件導(dǎo)致sessionfactory出錯(cuò),檢查hbm文件路徑是否正確,文件是否存在
    <property name="mappingResources">
      <list>
      <value>com/yourcompany/model/Login.hbm.xml
      </value>
      </list>
      </property>

    另外,此出錯(cuò)也有可能是HBM文件里的錯(cuò)誤引起,比如當(dāng)初設(shè)計(jì)表的時(shí)候建立好了表間的約束關(guān)系,所以當(dāng)生成其中一些持久化類,而另外一些有關(guān)聯(lián)的表沒有生成持久化類的時(shí)候。hbm文件里也會(huì)有生成相關(guān)的一對(duì)多多對(duì)一等的關(guān)聯(lián),而另外的表沒有生成持久化類。所以運(yùn)行時(shí)就會(huì)報(bào)這個(gè)錯(cuò)誤。將HBM文件里暫時(shí)沒有使用到的配置刪除就可以了。


    2007-06-26 18:38:13,671 ERROR [com.yourcompany.model.dao.LoginDAO] - <save failed>
    org.springframework.jdbc.BadSqlGrammarException: Hibernate operation: could not insert: [com.yourcompany.model.Login]; bad SQL grammar [insert into mysql__login (name, password) values (?, ?)]; nested exception is java.sql.SQLException: Table 'mysql.mysql__login' doesn't exist
    java.sql.SQLException: Table 'mysql.mysql__login' doesn't exist

    把hbm文件里面的catalog="'mysql"去掉即可!
    另注意的一點(diǎn)是eclipse生成的DAO文件應(yīng)該是:
        public void save(Login transientInstance) {
            log.debug("saving Login instance");
            try {
                getHibernateTemplate().save(transientInstance);
                log.debug("save successful");
            } catch (RuntimeException re) {
                log.error("save failed", re);
                throw re;
            }
        }
    而不是原來的    public void save(LoginDAO transientInstance)

    只要在applicationContext.xml中加上
    <property name="mappingResources">
    <list>
    <value>com/yourcompany/hibernate/Users.hbm.xml</value>
    </list>
    </property>
    加這段代碼就會(huì)找不到action
    換一個(gè)版本的hibernate應(yīng)該就ok


    Invalid path /addcustomer was requested
    輸入的路徑不正確,檢查spring中注冊(cè)的action的路徑和輸入的路徑是否一致,留意大小寫是否一致


    2007-08-08 15:36:17,406 ERROR [org.hibernate.proxy.BasicLazyInitializer] - CGLIB Enhancement failed: dao.User
    java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
     at net.sf.cglib.core.ClassEmitter.begin_class(ClassEmitter.java:77)

    Spring 和 Hibernate 共用的一些 jar 文件發(fā)生了版本沖突, 刪除 WEB-INF/lib/asm-2.2.3.jar 然后重啟 Tomcat.

    asm-2.2.3.jar
           asm.jar
           asm-attrs.jar
          asm-commons-2.2.3.jar
          asm-util-2.2.3.jar


    Resources cannot be null
    關(guān)于這個(gè)異常除了大家說的之外,如果在struts-config.xml的配置中不加載驗(yàn)證插件,也是會(huì)報(bào)上述錯(cuò)誤的,請(qǐng)?jiān)谂渲梦募屑由?br />  <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"/> 
        <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
     <set-property property="pathnames"  value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
    </plug-in>


    hibernate java.lang.NullPointerException

    檢查一下配置文件。
    比如struts-config里,action的名稱和路徑是否一致,是否和spring里注冊(cè)的名字一致。特別留意大小寫。hbm文件配置是否有錯(cuò),大小寫。。。

    posted on 2007-06-21 12:01 lzj520 閱讀(1606) 評(píng)論(0)  編輯  收藏 所屬分類: Struts1Spring個(gè)人學(xué)習(xí)日記Hibernate
    主站蜘蛛池模板: 亚洲国产精品久久久久网站| 久久国产精品成人免费| 亚洲av永久无码精品漫画| 全黄性性激高免费视频| 999国内精品永久免费视频| 国产又黄又爽又猛免费app| 成人a毛片视频免费看| 亚洲精品无码成人片久久| 99精品热线在线观看免费视频| 色吊丝免费观看网站| 亚洲国产成人精品青青草原| 亚洲AV无码国产丝袜在线观看| 亚洲第一永久AV网站久久精品男人的天堂AV | 亚洲αv在线精品糸列| 四虎永久在线精品免费影视 | 黑人粗长大战亚洲女2021国产精品成人免费视频 | 亚洲国产品综合人成综合网站| 亚洲精品无码成人片久久| 亚洲国产人成中文幕一级二级| 无码日韩精品一区二区免费暖暖 | 日韩高清在线高清免费| 免费大片黄在线观看yw| 一区二区三区在线免费看| 不卡视频免费在线观看| 青青久久精品国产免费看| 亚洲精品国产综合久久久久紧| 亚洲1区1区3区4区产品乱码芒果| 久久亚洲春色中文字幕久久久| 国产在线播放免费| 天天看免费高清影视| 成人免费看吃奶视频网站| 一个人看的hd免费视频| 亚洲1区1区3区4区产品乱码芒果| 亚洲婷婷天堂在线综合| 亚洲最大在线观看| 亚洲日产2021三区在线| 亚洲熟妇色自偷自拍另类| 国产成人麻豆亚洲综合无码精品| 亚洲另类激情专区小说图片| 亚洲国产一区二区视频网站| 亚洲一区二区三区在线播放|