2012-01-22 12 views
5

मैं दो मॉड्यूल के साथ एक डमी मेवेन प्रोजेक्ट बना रहा हूं, और मैंने एक सामान्य pom.xml फ़ाइल शामिल की है। मैं रूट pom.xml फ़ाइल से निर्माण करने में सक्षम हूं और सभी परीक्षण चलाता हूं लेकिन जब टॉमकैट में फ़ाइलों को तैनात करने की बात आती है, तो यह गिर जाती है। मैं प्लगइन है:गलत यूआरएल पर तैनात करने की कोशिश कर रहे टोमकैट-मेवेन-प्लगइन क्यों है?

<build> 
    <finalName>dummy</finalName> 
    <plugins> 
     <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>tomcat-maven-plugin</artifactId> 
      <configuration> 
       <url>http://127.0.0.1:8090/manager/text</url> 
       <server>TomcatServer</server> 
       <path>/dummy</path> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

settings.xml

<server> 
    <id>TomcatServer</id> 
    <username>admin</username> 
    <password>admin</password> 
</server> 

हालांकि, जब मैं निर्माण चलाने यह डिफ़ॉल्ट कॉन्फ़िगरेशन मान का उपयोग करता है और मैं निम्नलिखित त्रुटि संदेश मिलता है:

लक्ष्य निष्पादित करने में विफल org.codehaus.mojo: tomcat-maven-plugin: 1.1: प्रोजेक्ट वेबैप पर तैनाती (डिफ़ॉल्ट-क्ली): टॉमकैट प्रबंधक को नहीं बुला सकता: http://localhost:8080/manager/deploy?path=%2Fwebapp&war= -> [सहायता 1]

क्या कोई जानता है कि मैं अपनी कॉन्फ़िगरेशन का उपयोग करने के लिए प्लगइन कैसे प्राप्त कर सकता हूं?

अधिक उत्पादन:

[INFO] --- maven-war-plugin:2.1.1:war (default-war) @ webapp --- 
[INFO] Packaging webapp 
[INFO] Assembling webapp [webapp] in [C:\Websites\www.dummy.app\webapp\target\webapp] 
[INFO] Processing war project 
[INFO] Copying webapp resources [C:\Websites\www.dummy.app\webapp\src\main\webapp] 
[INFO] Webapp assembled in [15 msecs] 
[INFO] Building war: C:\Websites\www.dummy.app\webapp\target\webapp.war 
[WARNING] Warning: selected war files include a WEB-INF/web.xml which will be ignored 
(webxml attribute is missing from war task, or ignoreWebxml attribute is specified as 'true') 
[INFO] 
[INFO] <<< tomcat-maven-plugin:1.1:deploy (default-cli) @ webapp <<< 
[INFO] 
[INFO] --- tomcat-maven-plugin:1.1:deploy (default-cli) @ webapp --- 
[INFO] Deploying war to http://localhost:8080/webapp 
[INFO] ------------------------------------------------------------------------ 
[INFO] Reactor Summary: 
[INFO] 
[INFO] my-app ............................................ SUCCESS [4.747s] 
[INFO] webapp ............................................ FAILURE [3.313s] 
[INFO] dummy ............................................. SKIPPED 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 9.376s 
[INFO] Finished at: Mon Jan 23 22:46:11 GMT 2012 
[INFO] Final Memory: 18M/245M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal org.codehaus.mojo:tomcat-maven-plugin:1.1:deploy (default-cli) on project webapp: Cannot invoke Tomcat manager: http://localhost:8080/manager/deploy?path=%2Fwebapp&war= -> [Help 1] 
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException 
[ERROR] 
[ERROR] After correcting the problems, you can resume the build with the command 
[ERROR] mvn <goals> -rf :webapp 

धन्यवाद

+1

आपका प्रबंधक URL पर उपलब्ध हो जाएगा अजीब लग रहा है - क्यों है नाम में एक '/ text' है? साथ ही, क्या आपने सत्यापित किया है कि पोर्ट 8080 पर चलाने के लिए टोमकैट ठीक से कॉन्फ़िगर किया गया है और प्रबंधक ऐप इंस्टॉल है? – Perception

+1

टॉमकैट 7 पर तैनाती के लिए, यूआरएल को/html या/text में समाप्त करने की आवश्यकता है। मुझे लगता है कि यह/पाठ होना चाहिए, लेकिन मैं अब तक परीक्षण करने के लिए प्राप्त किया है :)। टॉमकैट दाएं बंदरगाह पर चल रहा है क्योंकि http://127.0.0.1:8090/manager/html टॉमकैट प्रबंधक – BIGDeutsch

+1

पर हल करता है क्या आप डीबग मोड ('mvn -X') में चल रहे प्रासंगिक कंसोल लॉग को पोस्ट कर सकते हैं? – Raghuram

उत्तर

3
<properties> 
    <maven.tomcat.url>http://localhost:8080/manager/text</maven.tomcat.url> 
</properties> 

मेरे लिए यह ठीक किया गया।

1

मुझे भी यही समस्या थी। यहां मैंने कैसे हल किया है। हालांकि यह एक देर का जवाब है, मुझे लगता है कि यह जवाब आज भी सच रहेगा।

मैं उपयोग कर रहा हूँ tomcat7.The बिल्ला-Maven-प्लगइन: बिल्ला तैनाती यूआरएल http://localhost:8080/manager/html 1.1 चूक, लेकिन बिल्ला 7 के लिए यूआरएल http://localhost:8080/manager/text बदल गया है।

चरण 1: युद्ध फ़ाइलों को तैनात करने के लिए टोमकैट के लिए यूआरएल & भूमिका खोजें।

मैंने पाया कि मैन्युअल

apache-tomcat-7.0.41\webapps\manager\WEB-INF\web.xml 

तैनात करने के लिए इस्तेमाल किया URL पर जाकर है: /पाठ, तो Maven http://localhost:8080/manager/text का उपयोग करना चाहिए इस यूआरएल के लिए भूमिका "प्रबंधक स्क्रिप्ट है "

<security-constraint> 
    <web-resource-collection> 
     <web-resource-name>Text Manager interface (for scripts)</web-resource-name> 
     <url-pattern>/text/*</url-pattern> 
    </web-resource-collection> 
    <auth-constraint> 
     <role-name>manager-script</role-name> 
    </auth-constraint> 
    </security-constraint> 

चरण 2: कॉन्फ़िगर भूमिका

तो अब हमें युद्ध और भूमिका को तैनात करने के लिए यूआरएल मिला है। अगर आपने कॉन्फ़िगर किए गए टॉमकैट उपयोगकर्ताओं को रखा है। नीचे यह है कि apache-tomcat-7.0.41 \ conf \ बिल्ला-users.xml।

<tomcat-users> 

    <role rolename="manager"/> 
    <role rolename="manager-gui"/> 
    <role rolename="manager-script"/> 
    <role rolename="admin"/> 
    <user username="admin" password="admin" roles="admin,manager,manager-gui,manager-script"/> 

</tomcat-users> 

चरण 3: pom.xml में बिल्ला-Maven-प्लगइन कॉन्फ़िगर तैनाती के लिए बिल्ला यूआरएल उपयोग करने के लिए।

अब हमें इनका उपयोग करने के लिए टॉमकैट-मेवेन-प्लगइन को कॉन्फ़िगर करने की आवश्यकता है। नीचे मेरी प्लगइन कॉन्फ़िगरेशन pom.xml में है। यह टॉमकैट-मैवेन-प्लगइन के डिफ़ॉल्ट टॉमकैट को यूआरएल तैनात करेगा।

<plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>tomcat-maven-plugin</artifactId> 
      <configuration> 
       <server>mytomcatserver</server> 
       <url>http://localhost:8080/manager/text</url> 
      </configuration> 
    </plugin> 

चरण 4: बिल्ला यूआरएल क्रेडेंशियल के लिए कॉन्फ़िगर Maven के settings.xml।

अब Maven बिल्ला को युद्ध फ़ाइल को तैनात करने के लिए प्लगइन, यह आपके बिल्ला सर्वर के लिए उपयोगकर्ता नाम & पासवर्ड की जरूरत है। Maven की settings.xml जानकारी प्राप्त स्थित है (मेरा अपाचे-Maven-3.2.3 \ conf पर था) और करने के लिए

<servers> 
    <server> 
     <id>mytomcatserver</id> 
     <username>admin</username> 
     <password>admin</password> 
    </server> 
</servers> 

चरण 5 नीचे config लागू होते हैं: सच्चाई का क्षण

टोमकैट शुरू करो।

mvn पैकेज (युद्ध फ़ाइल बनाई)

mvn बिल्ला: तैनात (युद्ध तैनाती के लिए बिल्ला कंसोल घड़ी)

आपका webapp http://localhost:8080/{context}

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

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