2012-03-29 17 views
5

मैं tomcat7-maven-plugin का उपयोग कर रहा हूं। मैं अपना वेबपैप चलाने के लिए चाहता हूं जो एम्बेडेड टॉमकैट का उपयोग कर PostgreSQL डेटाबेस से कनेक्ट हो। tomcat7-maven-plugin अतिरिक्त निर्भरता लोड नहीं हो रही है

<plugin> 
    <groupId>org.apache.tomcat.maven</groupId> 
    <artifactId>tomcat7-maven-plugin</artifactId> 
    <version>2.0-SNAPSHOT</version> 
    <executions> 
     <execution> 
      <id>tomcat-run</id> 
      <goals> 
       <goal>exec-war-only</goal> 
      </goals> 
      <phase>package</phase> 
      <configuration> 
       <path>/</path> 
       <attachArtifactClassifierType>war</attachArtifactClassifierType> 
       <enableNaming>true</enableNaming> 
       <extraDependencies> 
        <extraDependency> 
         <groupId>postgresql</groupId> 
         <artifactId>postgresql</artifactId> 
         <version>8.4-701.jdbc4</version> 
        </extraDependency> 
       </extraDependencies> 
      </configuration> 
     </execution> 
    </executions> 

tomcat7 निष्पादित: यह मेरा पोम फ़ाइल के संबंधित हिस्सा है रन

Caused by: java.lang.ClassNotFoundException: org.postgresql.Driver 
at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50) 
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:244) 
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:230) 
at java.lang.Class.forName0(Native Method) 
at java.lang.Class.forName(Class.java:247) 
at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:236) 
... 29 more 

निर्भरता ही सही है (http://repo1.maven.org के साथ विफल /maven2/postgresql/postgresql/8.4-701.jdbc4/)।

मैं Maven 3.

उत्तर

13

पैरामीटर extraDependencies का उपयोग रन मोजो के लिए नहीं है :-)। यहां पैरामीटर देखें: http://tomcat.apache.org/maven-plugin-2.0-SNAPSHOT/tomcat7-maven-plugin/run-mojo.html। यह पैरामीटर निष्पादन-युद्ध के उद्देश्य http://tomcat.apache.org/maven-plugin-2.0-SNAPSHOT/executable-war-jar.html के लिए है। अपने JDBC- ड्राइवर को जोड़ने के लिए बस कार्य करें:

<plugin> 
    <groupId>org.apache.tomcat.maven</groupId> 
    <artifactId>tomcat7-maven-plugin</artifactId> 
    <version>2.0-SNAPSHOT</version> 
    <dependencies> 
     <dependency> 
     <groupId>postgresql</groupId> 
     <artifactId>postgresql</artifactId> 
     <version>8.4-701.jdbc4</version> 
     </dependency> 
    </dependencies> 
</plugin> 

HTH :-)

+0

जाहिर है सबसे सरल समाधान के लिए बहुत मुश्किल से एक देखने की बात है, बहुत बहुत शुक्रिया! :) –

+0

बीटीडब्ल्यू यह 2.0 रिलीज (समावेशी) तक काम कर रहा है। 2.1 और 2.2 में इस तरह निर्भरता जोड़ने का कोई तरीका नहीं है, यह काम नहीं करता है। – lisak

+0

@ स्लॉइन मई मैं आपसे पूछ सकता हूं कि क्या आप अपने काम पर विस्तार कर सकते हैं-बस काम नहीं करते? मैं अपना 'एमवीएन क्लीन इंस्टॉल टॉमकैट 7 शुरू कर सकता हूं: 2.2 संस्करण पर रन' जुर्माना। – Stephane

संबंधित मुद्दे