首先jpa+spring集成没任何问题,就是在集成struts的时候问题就来了,已启动服务器就一直抱这个错误,网上找了半天也没得到解决办法啊
2012-3-2 8:41:06 org.apache.catalina.core.AprLifecycleListener init
信息: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: D:\MyEclipseCommon\binary\com.sun.java.jdk.win32.x86_1.6.0.013\bin;D:\MyEclipseCommon\plugins\com.genuitec.eclipse.easie.tomcat.myeclipse_8.5.0.me201003121946\tomcat\bin
2012-3-2 8:41:07 org.apache.coyote.http11.Http11Protocol init
信息: Initializing Coyote HTTP/1.1 on http-8080
2012-3-2 8:41:07 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 3754 ms
2012-3-2 8:41:07 org.apache.catalina.core.StandardService start
信息: Starting service Catalina
2012-3-2 8:41:07 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/6.0.13
log4j:WARN No appenders could be found for logger (org.springframework.core.CollectionFactory).
log4j:WARN Please initialize the log4j system properly.
2012-3-2 8:41:11 org.apache.catalina.core.ApplicationContext log
信息: Initializing Spring root WebApplicationContext
2012-3-2 8:41:17 org.apache.catalina.core.StandardContext listenerStart
严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [beans.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchFieldError: TRACE
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1338)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
at java.security.AccessController.doPrivileged(Native Method)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:423)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3827)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4334)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: java.lang.NoSuchFieldError: TRACE
at org.slf4j.impl.Log4jLoggerAdapter.trace(Log4jLoggerAdapter.java:90)
at org.hibernate.cfg.annotations.PropertyBinder.make(PropertyBinder.java:184)
at org.hibernate.cfg.AnnotationBinder.bindId(AnnotationBinder.java:1911)
at org.hibernate.cfg.AnnotationBinder.processElementAnnotations(AnnotationBinder.java:1279)
at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:754)
at org.hibernate.cfg.AnnotationConfiguration.processArtifactsOfType(AnnotationConfiguration.java:546)
at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:291)
at org.hibernate.cfg.Configuration.buildMappings(Configuration.java:1148)
at org.hibernate.ejb.Ejb3Configuration.buildMappings(Ejb3Configuration.java:1226)
at org.hibernate.ejb.EventListenerConfigurator.configure(EventListenerConfigurator.java:173)
at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:854)
at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:425)
at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:131)
at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:224)
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:291)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1369)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335)
... 39 more
2012-3-2 8:41:17 org.apache.catalina.core.StandardContext start
严重: Error listenerStart
2012-3-2 8:41:17 org.apache.catalina.core.StandardContext start
严重: Context [/baba] startup failed due to previous errors
2012-3-2 8:41:17 org.apache.catalina.core.ApplicationContext log
信息: Closing Spring root WebApplicationContext
2012-3-2 8:41:18 org.apache.coyote.http11.Http11Protocol start
信息: Starting Coyote HTTP/1.1 on http-8080
2012-3-2 8:41:18 org.apache.jk.common.ChannelSocket init
信息: JK: ajp13 listening on /0.0.0.0:8009
2012-3-2 8:41:18 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=0/45 config=null
2012-3-2 8:41:18 org.apache.catalina.startup.Catalina start
信息: Server startup in 11063 ms
这是struts配置文件:<struts-config>
<!--========== Form Bean Definitions ===================================-->
<form-beans>
</form-beans>
<!--========== Action Mapping Definitions ==============================-->
<action-mappings>
<action path="/control/product/type/list" type="com.lovo.web.action.product.ProductTypeAction">
<forward name="list" path="/test.jsp"></forward>
</action>
</action-mappings>
<controller>
<set-property value="org.springframework.web.struts.DelegatingRequestProcessor" property="processorClass"/>
</controller>
</struts-config>
这是web.xml
<!-- 配置spring -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:beans.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
这是beans.xml 关于jpa的集成
<!-- 配置实体管理工厂 spring集成jpa -->
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="persistenceXmlLocation" value="classpath:META-INF/persistence.xml"></property>
<property name="loadTimeWeaver">
<bean class="org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver"/>
</property>
</bean>
<!-- 事务管理器 -->
<bean id="txManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory"/>
</bean>
问题补充:不是log4j的原因,我已经找到原因了;方案:
在使用Spring的AOP编程时,会用到这几个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存在类上的冲突!!!
使用其中之一或两者都使用,可能会出现如下错误:
java.lang.NoClassDefFoundError: org/objectweb/asm/CodeVisitor
java.lang.NoClassDefFoundError: org/objectweb/asm/commons/EmptyVisitor
java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit。。。。。。
解决办法是:
1.去掉类路径上的关于Hibernate的3个lib
asm.jar
asm-attrs.jar
cglib-2.1.3.jar
2.加入Spring中的以下4个lib
asm-2.2.2.jar
asm-commons-2.2.2.jar
asm-util-2.2.2.jar
cglib-nodep-2.1_3.jar
jinnianshilongnian 写道
Caused by: java.lang.NoSuchFieldError: TRACE
at org.slf4j.impl.Log4jLoggerAdapter.trace(Log4jLoggerAdapter.java:90)
看看你slf4j-api 、 slf4j-log4j12 和 log4j 版本一致吗??
比如
slf4j-api-1.6.1.jar
slf4j-log4j12-1.6.1.jar
log4j-1.2.16.jar
相关推荐
同时,可以使用Spring插件(struts2-spring-plugin)来实现Spring与Struts的集成,这样Action类可以直接从Spring容器获取服务层对象。 **4. 实现业务逻辑** 创建JPA实体类,使用`@Entity`注解标识。接着,创建对应...
提供的"整体流程.txt"、"集成JPA环境.txt"、"添加Spring.txt"和"添加struts2.txt"等文档,详细记录了上述每个步骤的配置细节和注意事项,对于初学者来说,是理解并掌握这三个框架集成的宝贵资源。 总结来说,JPA+...
下面,我们将详细介绍如何进行Jpa、Spring和Struts的集成。 1. 集成JPA环境步骤: JPA是Java标准的ORM(对象关系映射)规范,它提供了一种在Java应用程序中操作数据库的方式。首先,我们需要在项目中引入JPA的依赖...
**JPA+Spring+Struts整合实例** 在Java企业级应用开发中,Spring、Struts和JPA(Java Persistence API)是三个非常重要的框架。它们分别负责不同的职责:Spring作为一个全能型框架,提供了依赖注入(DI)和面向切面...
1. **配置Spring**:在Spring配置文件中,定义JPA的DataSource、EntityManagerFactory和TransactionManager,以及Struts2的Action Beans。 2. **配置Struts2**:创建struts.xml配置文件,定义Action类和对应的Result...
3. **集成JPA**:在Struts2的Action中,通过Spring注入JPA相关的Service,Service层再调用DAO进行数据库操作。使用JPA的注解(如@Entity、@Table、@Id等)来定义实体类,并配置ORM映射。 4. **拦截器配置**:可以...
标题 "Spring+Hibernate+Jpa+Struts2整合实例" 描述的是一个综合性的Web开发教程,它将四个关键的Java技术框架集成在一起,用于构建高效的企业级应用程序。这个实例涵盖了Spring作为整体应用的管理框架,Hibernate...
总之,Struts1、JPA和Spring2.5的组合为企业级应用开发提供了强大的工具集,它们的集成使用可以简化开发过程,提高代码质量,同时也为系统扩展和维护带来了便利。在实际项目中,理解并熟练掌握这三个框架的原理和...
Struts2、JPA(Java Persistence API)和Spring 2.5是Java开发中的三大核心框架,它们在构建企业级应用时发挥着重要作用。这里我们将深入探讨这些技术的基础配置及如何将它们整合在一起。 首先,Struts2是一个基于...
1. **JPA集成**:在Spring配置文件中,需要配置JPA的EntityManagerFactory和TransactionManager,以便Spring能够管理数据访问。 2. **Spring集成**:配置Spring的IoC容器,声明需要的bean,如Service、DAO等,利用...
标题提到的“s2sh s2sh项目 JPA项目 JPA+struts2+Hibernate+spring”是指一个基于Struts2、Spring和Hibernate的Java Web项目,其中还集成了JPA(Java Persistence API)作为数据持久化层。这个项目是一个很好的学习...
在与Struts2和JPA的集成中,Spring主要负责管理Bean的生命周期、配置以及处理事务,它提供了无缝的集成解决方案,使得整个应用架构更加清晰、模块化。 #### 综合运用案例分析 在实际开发中,结合Struts2、AJAX、...
在本案例中,"2014年2月16最新struts+JPA+spring整合jar包" 提供了这些技术的集成解决方案,用于构建一个基于JPA的SSH应用。 首先,让我们深入理解SSH框架的核心功能: 1. **Struts**:这是一个MVC(Model-View-...
本话题聚焦于"Spring+JPA+Struts1"的整合,这是一个经典的Java Web开发组合,适用于构建企业级应用。让我们深入探讨这三个技术的核心概念以及如何将它们有效地整合在一起。 首先,我们来了解每个组件: 1. **...
Struts2、Spring2、JPA(Java Persistence API)和Ajax是Java Web开发中的四大关键技术,它们共同构建了一个高效、灵活且功能强大的应用程序框架。在这个项目中,这四者的组合运用旨在实现一个前后端分离、数据持久...
SSH三大框架,即Struts、Spring和Hibernate,是Java Web开发中的常用技术组合,它们各自负责不同的职责:Struts作为MVC模式中的Controller层,处理用户请求并转发到相应的业务逻辑;Spring则作为核心容器,负责依赖...