4

tomcat 6 및 postgresql을 사용하는 tomcat 프로젝트에서 web.xml의 org.apache.commons.dbcp.BasicDataSource를 bean으로 구성하려고합니다. 9.1 java.lang.NoClassDefFoundError : org/apache/commons/pool/impl/GenericObjectPool

내 servletdispacher.xml

`

<bean id="viewResolver" 
     class="org.springframework.web.servlet.view.InternalResourceViewResolver" 
     p:prefix="/WEB-INF/jsp/" 
     p:suffix=".jsp" /> 




<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> 
    <property name="driverClassName" value="org.postgresql.Driver" /> 
    <property name="url" value="jdbc:postgresql://localhost:5432/car" /> 
    <property name="username" value="postgres" /> 
    <property name="password" value="123" /> 
</bean> 

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> 
    <property name="annotatedClasses"> 
     <list> 
      <value>DAOModel.Tblusers</value> 
     </list> 
    </property> 
    <property name="dataSource" ref="dataSource" /> 
    <property name="packagesToScan" value="DAOModel.Tblusers" /> 
    <property name="hibernateProperties"> 
     <props> 
      <prop key="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</prop> 
      <prop key="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</prop> 
      <prop key="hibernate.show_sql">true</prop> 
      <prop key="hibernate.hbm2ddl.auto">update</prop> 
     </props> 
    </property> 
</bean> 

` 및 오류가 얻을 수있는 :

javax.servlet.ServletException: Servlet.init() for servlet dispatcher threw exception 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) 
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 
java.lang.Thread.run(Thread.java:724) 

답변

2

민트 15의 tomcat6 패키지에서 나에게 이런 일이 일어났습니다. 설치에 /usr/share/tomcat6/lib/commons-pool.jar -> ../../java/commons-pool.jar이 있었지만 /usr/share/java/commons-pool.jar -> commons-pool-1.5.6.jar이 깨졌습니다. 내 로컬 Maven repo에서 복사하기 sudo cp ~/.m2/repository/commons-pool/commons-pool/1.5.6/commons-pool-1.5.6.jar /usr/share/java 나를 위해 그것을 고쳤습니다.

5

는 '공유지 풀'항아리가 배치되지 않는 것 같다. Eclipse를 사용하는 경우, 프로젝트 특성으로 이동하여 전개 어셈블리를 눌러 배치 된 jar를 점검 할 수 있습니다.

+0

netbeans에서 사용하고 web-inf \ lib에 commons-pool2-2.1.jar가 있습니다. – ATJVS

+0

그래, 틀렸어. 그러나 귀하의 질문 제목 (NoClassDefinitionFound) 에서이 오류는 귀하의 배포에있는 모든 병에서 아무도 "org.apache.commons.pool.impl.GenericObjectPool"클래스를 가지고 의미합니다. "Tattletale"도구를 사용하여 프로젝트 병 내부에서 진행되는 작업을 확인하는 것이 좋습니다. – mcsilvio

1

commons-pool-x.x.x.jar

내가 너무 내 환매 특약에 몇 가지 문제에 직면
-1

공유지-pool2-2.1.jar이 apache-tomcat-7.0.54\lib 폴더에이 jar 파일을 복사하여 해결할 수있는 배치 폴더에 lib 폴더에 존재하지 않을 수 있음 제대로 다운로드되지 않았습니다. 우리는 정확한 항아리를 다운로드해야합니다.