<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>chenhui</title>
    <description></description>
    <link>http://chenhui.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>SSH 整合启动报错 asm-2.2.3.jar冲突</title>
        <author>chenhui</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://chenhui.javaeye.com">chenhui</a>&nbsp;
          链接：<a href="http://chenhui.javaeye.com/blog/146437" style="color:red;">http://chenhui.javaeye.com/blog/146437</a>&nbsp;
          发表时间: 2007年12月06日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          MyEclipse 开发 SSH 整合时 java.lang.NoSuchMethodError:2007年12月6日 17:52org.objectweb.asm.ClassVisitor.visit 解决方案 <br />这篇文章解决了问题, 核心提示:<br /><br />2007-12-01 发现用 MyEclipse 5.5 做 Struts 1.2 + Spring 2.0 + Hibernate 3.1 整合时启动过程中报如下的错误:<br /><br /><br />2007-12-01 16:36:17,406 ERROR [org.hibernate.proxy.BasicLazyInitializer] - CGLIB Enhancement failed: dao.User<br />java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V<br />at net.sf.cglib.core.ClassEmitter.begin_class(ClassEmitter.java:77)<br /><br />Spring 和 Hibernate 共用的一些 jar 文件发生了版本冲突, 删除 WEB-INF/lib/asm-2.2.3.jar 然后重启 Tomcat.<br /><br />asm-2.2.3.jar<br />        asm.jar<br />        asm-attrs.jar<br />       asm-commons-2.2.3.jar<br />       asm-util-2.2.3.jar<br /><br /><br /><br /><br />原文参考:　http://heweiya.javaeye.com/blog/101575<br /><br /><br />下面是一个完整的出错信息:<br /><br />2007-12-01 10:44:42 org.apache.catalina.core.StandardContext listenerStart <br />严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener <br />org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.ExceptionInInitializerError <br />Caused by: java.lang.ExceptionInInitializerError <br />at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.getProxyFactory(CGLIBLazyInitializer.java:117) <br />at org.hibernate.proxy.pojo.cglib.CGLIBProxyFactory.postInstantiate(CGLIBProxyFactory.java:43) <br />at org.hibernate.tuple.entity.PojoEntityTuplizer.buildProxyFactory(PojoEntityTuplizer.java:162) <br />at org.hibernate.tuple.entity.AbstractEntityTuplizer.&lt;init>(AbstractEntityTuplizer.java:135) <br />at org.hibernate.tuple.entity.PojoEntityTuplizer.&lt;init>(PojoEntityTuplizer.java:55) <br />at org.hibernate.tuple.entity.EntityEntityModeToTuplizerMapping.&lt;init>(EntityEntityModeToTuplizerMapping.java:56) <br />at org.hibernate.tuple.entity.EntityMetamodel.&lt;init>(EntityMetamodel.java:295) <br />at org.hibernate.persister.entity.AbstractEntityPersister.&lt;init>(AbstractEntityPersister.java:434) <br />at org.hibernate.persister.entity.SingleTableEntityPersister.&lt;init>(SingleTableEntityPersister.java:109) <br />at org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:55) <br />at org.hibernate.impl.SessionFactoryImpl.&lt;init>(SessionFactoryImpl.java:226) <br />at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1294) <br />at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:915) <br />at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:730) <br />at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:121) <br />at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:51) <br />at org.springframework.orm.jpa.LocalEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalEntityManagerFactoryBean.java:91) <br />at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:251) <br />at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1202) <br />at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1172) <br />at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:428) <br />at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251) <br />at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:156) <br />at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248) <br />at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160) <br />at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:284) <br />at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352) <br />at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:244) <br />at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:187) <br />at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49) <br />at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3830) <br />at org.apache.catalina.core.StandardContext.start(StandardContext.java:4337) <br />at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791) <br />at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) <br />at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525) <br />at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920) <br />at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883) <br />at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492) <br />at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138) <br />at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311) <br />at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117) <br />at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) <br />at org.apache.catalina.core.StandardHost.start(StandardHost.java:719) <br />at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) <br />at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) <br />at org.apache.catalina.core.StandardService.start(StandardService.java:516) <br />at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) <br />at org.apache.catalina.startup.Catalina.start(Catalina.java:566) <br />at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) <br />at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) <br />at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) <br />at java.lang.reflect.Method.invoke(Unknown Source) <br />at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) <br />at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) <br />Caused by: java.lang.SecurityException: class "org.objectweb.asm.CodeVisitor"'s signer information does not match signer information of other classes in the same package <br />at java.lang.ClassLoader.checkCerts(Unknown Source) <br />at java.lang.ClassLoader.preDefineClass(Unknown Source) <br />at java.lang.ClassLoader.defineClass(Unknown Source) <br />at java.security.SecureClassLoader.defineClass(Unknown Source) <br />at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1817) <br />at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:872) <br />at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1325) <br />at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204) <br />at java.lang.ClassLoader.loadClassInternal(Unknown Source) <br />at net.sf.cglib.core.KeyFactory$Generator.generateClass(KeyFactory.java:165) <br />at net.sf.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25) <br />at net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:216) <br />at net.sf.cglib.core.KeyFactory$Generator.create(KeyFactory.java:145) <br />at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:117) <br />at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:108) <br />at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:104) <br />at net.sf.cglib.proxy.Enhancer.&lt;clinit>(Enhancer.java:69) <br />... 54 more <br />2007-12-01 10:44:42 org.apache.catalina.core.StandardContext start <br />严重: Error listenerStart <br />2007-12-01 10:44:42 org.apache.catalina.core.StandardContext start <br />严重: Context [/d1] startup failed due to previous errors <br />2007-12-01 10:44:42 org.apache.catalina.core.ApplicationContext log <br />信息: Closing Spring root WebApplicationContext <br />2007-12-01 10:44:42 org.apache.catalina.loader.WebappClassLoader loadClass <br />信息: Illegal access: this web application instance has been stopped already. Could not load java.net.BindException. The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact. <br />java.lang.IllegalStateException <br />at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1244) <br />at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204) <br />at java.lang.ClassLoader.loadClassInternal(Unknown Source) <br />at com.mysql.jdbc.CommunicationsException.&lt;init>(CommunicationsException.java:155) <br />at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2652) <br />at com.mysql.jdbc.MysqlIO.quit(MysqlIO.java:1345) <br />at com.mysql.jdbc.Connection.realClose(Connection.java:4731) <br />at com.mysql.jdbc.Connection.cleanup(Connection.java:2034) <br />at com.mysql.jdbc.Connection.finalize(Connection.java:3244) <br />at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method) <br />at java.lang.ref.Finalizer.runFinalizer(Unknown Source) <br />at java.lang.ref.Finalizer.access$100(Unknown Source) <br />at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source) <br />2007-12-01 10:44:42 org.apache.catalina.loader.WebappClassLoader loadClass <br />信息: Illegal access: this web application instance has been stopped already. Could not load com.mysql.jdbc.Messages. The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact. <br />java.lang.IllegalStateException <br />at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1244) <br />at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204) <br />at java.lang.ClassLoader.loadClassInternal(Unknown Source) <br />at com.mysql.jdbc.CommunicationsException.&lt;init>(CommunicationsException.java:174) <br />at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2652) <br />at com.mysql.jdbc.MysqlIO.quit(MysqlIO.java:1345) <br />at com.mysql.jdbc.Connection.realClose(Connection.java:4731) <br />at com.mysql.jdbc.Connection.cleanup(Connection.java:2034) <br />at com.mysql.jdbc.Connection.finalize(Connection.java:3244) <br />at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method) <br />at java.lang.ref.Finalizer.runFinalizer(Unknown Source) <br />at java.lang.ref.Finalizer.access$100(Unknown Source) <br />at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)
          <br/><br/>
          <span style="color:red;">
            <a href="http://chenhui.javaeye.com/blog/146437#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 06 Dec 2007 16:08:16 +0800</pubDate>
        <link>http://chenhui.javaeye.com/blog/146437</link>
        <guid>http://chenhui.javaeye.com/blog/146437</guid>
      </item>
      <item>
        <title>代理模式</title>
        <author>chenhui</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://chenhui.javaeye.com">chenhui</a>&nbsp;
          链接：<a href="http://chenhui.javaeye.com/blog/146204" style="color:red;">http://chenhui.javaeye.com/blog/146204</a>&nbsp;
          发表时间: 2007年12月05日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          代理模式是对象的结构模式。代理模式给某一个对象提供一个代理对象，并由代理对象控制对原对象的引用。
          <br/><br/>
          <span style="color:red;">
            <a href="http://chenhui.javaeye.com/blog/146204#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 05 Dec 2007 15:40:37 +0800</pubDate>
        <link>http://chenhui.javaeye.com/blog/146204</link>
        <guid>http://chenhui.javaeye.com/blog/146204</guid>
      </item>
      <item>
        <title>PowerDesigner</title>
        <author>chenhui</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://chenhui.javaeye.com">chenhui</a>&nbsp;
          链接：<a href="http://chenhui.javaeye.com/blog/146185" style="color:red;">http://chenhui.javaeye.com/blog/146185</a>&nbsp;
          发表时间: 2007年12月05日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          PowerDesigner是集需求分析——系统设计——数据库设计等软件过程为一体的软件开发过程管理软件，这两天学了一下，感觉其需求分析及框架搭建并不是很方便。<br />  但其数据库设计使用却比较方便，可以实现不同数据库之间的转换。美中不足的是它没有提供表结构数据直接导出到excel表里的功能。
          <br/><br/>
          <span style="color:red;">
            <a href="http://chenhui.javaeye.com/blog/146185#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 05 Dec 2007 14:58:43 +0800</pubDate>
        <link>http://chenhui.javaeye.com/blog/146185</link>
        <guid>http://chenhui.javaeye.com/blog/146185</guid>
      </item>
  </channel>
</rss>