2012-03-30 10 views
10

मेरे पास tomcat7 है। प्रबंधक ऐप तक पहुंच (http: // localhost: 7777/manager/html) tomcat-users.xml में परिभाषित प्रमाण-पत्रों के साथ ठीक काम करता है।मेवेन tomcat7: तैनाती के साथ विफल रहता है

अब मैं maven3 के साथ एक एप्लिकेशन को तैनात करना चाहता हूं।

<plugin> 
    <groupId>org.apache.tomcat.maven</groupId> 
    <artifactId>tomcat7-maven-plugin</artifactId> 
    <version>2.0-beta-1</version> 
    <configuration> 
     <url>http://localhost:7777/manager</url> 
     <server>localhost7777</server> 
    </configuration> 
</plugin> 
<plugin> 
    <groupId>org.apache.tomcat.maven</groupId> 
    <artifactId>tomcat6-maven-plugin</artifactId> 
    <version>2.0-beta-1</version> 
    <configuration> 
     <url>http://localhost:7777/manager</url> 
     <server>localhost7777</server> 
    </configuration> 
</plugin> 

mavens में setting.xml मैं सर्वर के लिए प्रविष्टि कहा::

<servers> 
    <server> 
     <id>localhost7777</id> 
     <username>manager</username> 
     <password>secret</password> 
    </server> 
</servers> 

अब आवेदन सफल निर्माण किया जाएगा मैं बिल्ला Maven प्लगइन कॉन्फ़िगर किया गया। लेकिन लक्ष्य tomcat7: बिल्ला से पहुँच से मना कर त्रुटि संदेश पर ले जाया जाता तैनात:

... 
[INFO] Deploying war to http://localhost:7777/workload-monitor 
Uploading: http://localhost:7777/manager/deploy?path=%2Fworkload-monitor&update=true 
Uploaded: http://localhost:7777/manager/deploy?path=%2Fworkload-monitor&update=true (2329 KB at 55435.1 KB/sec) 

[INFO] <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
[INFO] <html> 
[INFO] <head> 
[INFO] <title>403 Access Denied</title> 
[INFO] <style type="text/css"> 
[INFO]  <!-- 
... 

किसी ने मुझसे एक संकेत दे सकते हैं?

+0

कौन सा सही है? tomcat6- या tomcat7-? – khmarbaise

+0

दोनों को pom.xml में परिभाषित किया जाना चाहिए क्योंकि कुछ लक्ष्य केवल tomcat6 mojo में उपलब्ध हैं (http://tomcat.apache.org/maven-plugin-2/index.html देखें)। – magomi

+1

सबसे पहले इसे अपने मामले में केवल tomcat7 के साथ चलाएं लेकिन दोनों नहीं। इसके बाद आपको अन्य लक्ष्यों के लिए प्रोफ़ाइल के बारे में सोचना होगा। – khmarbaise

उत्तर

1

जबकि प्रश्न का उत्तर, समस्या तथ्य यह है कि tomcat:deploy की कोशिश करता है जबकि यह tomcat7 http://localhost:7777/manager/deploy को webapp को तैनात करने की वजह से हो रहा है, तैनाती यूआरएल http://localhost:777/manager/html/deploy है। प्लगइन कॉन्फ़िगरेशन के रूप में इसे निर्दिष्ट करने का कोई तरीका प्रतीत नहीं होता है।

3

http://mycodenotes.wordpress.com/2011/01/25/mvn-tomcatdeploy-to-tomcat-7/ में वर्णित समाधान मेरे लिए काम किया।

एमवीएन प्लग-इन टॉमकैट-मेवेन-प्लगइन टॉमकैट 5.5 के साथ ठीक काम करता है, लेकिन जब आप टॉमकैट 7 उदाहरण पर तैनाती करने की कोशिश करते हैं तो यह 403 त्रुटि देता है। टॉमकैट 7 को चालू करने के लिए यूआरएल को बदल दिया गया है, इसलिए आपको इस अलग यूआरएल का उपयोग करने के लिए प्लगइन को कॉन्फ़िगर करने की आवश्यकता है। आप नीचे दिए गए प्लगइन विन्यास के साथ ऐसा कर सकते हैं:

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

जादू URL सेटिंग है कि अब, का उपयोग करता है/प्रबंधक/HTML बल्कि सिर्फ/प्रबंधक के डिफ़ॉल्ट यूआरएल से है। इस जानकारी के लिए मूल स्रोत: http://www.jroller.com/Fabszn/entry/tomcat_7_et_le_plugin

+0

इसके अलावा, किसी ऐसे उपयोगकर्ता के साथ तैनाती करने की आवश्यकता है जिसके पास "/ manager/html" पथ की अनुमति है। मैंने उस उपयोगकर्ता को "प्रबंधक-गुई" भूमिका निभाई है। –

+0

अद्यतन: मैंने Tomcat7_U40 डाउनलोड किया और तैनाती काम नहीं कर रही थी जैसा कि मैंने पिछली टिप्पणी में वर्णित किया था, जबकि यह Tomcat7_U30 पर ठीक काम करता था। फिर मैंने यूआरएल को "http: // localhost: 8080/manager/text" में बदल दिया और उपयोगकर्ता को "प्रबंधक-गुई" और "प्रबंधक-स्क्रिप्ट" भूमिकाओं के साथ तैनात करने के लिए सेट किया। यह उस तरह से काम करता है! –

19

इस सवाल और मेरे समाधान मैं वास्तव में हाल ही में मेरी ubuntu बॉक्स सेट कर इस मुद्दे में भाग पर नजर रखने के लिए, के बजाय/HTML वास्तव में पर/पाठ बात करने के लिए किया गया था: कोड:

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>tomcat-maven-plugin</artifactId> 
    <version>1.1</version> 
    <configuration> 
     <url>http://localhost:8080/manager/text</url> 
     <username>admin</username> 
     <password>admin</password> 
    </configuration> 
    </plugin> 
+3

मेरे साथ ही, धन्यवाद/पाठ पथ का उपयोग कर Mutmatt धन्यवाद। इसके लिए काम करने के लिए मुझे अपने व्यवस्थापक उपयोगकर्ता को प्रबंधक-स्क्रिप्ट भूमिका जोड़नी पड़ी। – derFunk

+2

यह स्वीकार्य उत्तर होना चाहिए। – BoD

+1

मेरे लिए काम किया! उठाया टिकट: https://issues.apache.org/jira/browse/MTOMCAT-225 –

0

इस निम्न सेटिंग्स के साथ काम मिल गया:

MAVEN_HOME/conf/settings.xml:

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

TOMCAT_HOME/conf/करने के लिए MCAT-users.xml:

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

pom.xml:

<pluginManagement> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.tomcat.maven</groupId> 
      <artifactId>tomcat7-maven-plugin</artifactId> 
      <version>2.1</version> 
      <configuration> 
       <server>myTomcat</server> 
       <url>http://localhost:8080/manager/text</url> 
       <path>/${project.build.finalName}</path> 
      </configuration> 
     </plugin> 
    </plugins> 
    </pluginManagement> 

तैनात साथ:

mvn clean install tomcat7:redeploy