[Java]Deploy war met maven2 naar tomcat 7

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik wil graag de war files die ik genereer met maven2 automatisch laten deployen in een tomcat 7.0.2 server. Tot op heden is dit nog niet gelukt. Ik heb de script interface url in maven geconfigureerd (aangezien deze sinds versie 7 veranderd is) en de manager-script gebruiker aangemaakt, maar tot op heden nog zonder succes.

Ik run maven vanuit eclipse met de volgende goals:
clean package tomcat:deploy

De error die ik krijg is:
code:
1
2
[ERROR] Failed to execute goal org.codehaus.mojo:tomcat-maven-plugin:1.0:deploy (default-cli) on project scarletreports: Cannot invoke Tomcat manager: Server returned HTTP response code: 401 for URL: http://localhost:8080/manager/text/deploy?path=%2Fscarletreports&war= -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:tomcat-maven-plugin:1.0:deploy (default-cli) on project scarletreports: Cannot invoke Tomcat manager


De files die ik gebruik zijn

Tomcat/conf/Tomcat-users.xml:
code:
1
2
3
4
<tomcat-users>
    <role rolename="manager-script" />
    <user username="username" password="password" roles="manager-script"/>
</tomcat-users>

Maven/conf/settings.xml:
code:
1
2
3
4
5
6
7
<servers>
    <server>
        <id>tomcat</id>
        <username>username</username>
        <password>password</password>
    </server>
</servers>

pom.xml:
code:
1
2
3
4
5
6
7
8
9
10
<plugins>
    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>tomcat-maven-plugin</artifactId>
        <configuration>
            <server>tomcat</server>
            <url>http://localhost:8080/manager/text</url>
        </configuration>
    </plugin>
</plugins>


Kan iemand mij vertellen hoe ik dit oplos?

EDIT:

Heb ook geprobeerd de userrol admin-script te gebruiken. Dit geef dezelfde foutmelding.

[ Voor 16% gewijzigd door Verwijderd op 07-09-2010 23:04 ]


Acties:
  • 0 Henk 'm!

  • Remus
  • Registratie: Juli 2000
  • Laatst online: 15-08-2021
HTTP 401 is 'Unauthorized', dat lijkt er op te wijzen dat je onjuiste username + password gebruikt om aan te melden.

Acties:
  • 0 Henk 'm!

  • IntToStr
  • Registratie: December 2003
  • Nu online
Ik weet niet of de role manager-script nieuw is in tomcat 7, maar voor tomcat 6 heb je de rol manager nodig om in te loggen op de manager interface.

Je kunt eventueel eens proberen om op <server>/manager/html in te loggen met je logingegevens.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik ben er zeker van dat de username en password correct zijn tenzij die ergens anders geconfigureerd moeten worden als dat ik nu heb gedaan.

De manager rol is inderdaad komen te vervallen in tomcat 7. Tomcat 7 heeft voor iedere interface een andere rol (manager-gui voor html interface, manager-script voor text interface, etc)

Inloggen met maven op de html interface geef dezelfde error.

Acties:
  • 0 Henk 'm!

  • Remus
  • Registratie: Juli 2000
  • Laatst online: 15-08-2021
Verwijderd schreef op woensdag 08 september 2010 @ 14:10:
Ik ben er zeker van dat de username en password correct zijn tenzij die ergens anders geconfigureerd moeten worden als dat ik nu heb gedaan.

De manager rol is inderdaad komen te vervallen in tomcat 7. Tomcat 7 heeft voor iedere interface een andere rol (manager-gui voor html interface, manager-script voor text interface, etc)

Inloggen op de html interface geef dezelfde error.
Als je ook een 401 krijgt als je handmatig inlogt op de HTML interface, dan heb je overduidelijk de verkeerde username of password, of de manager interface is uitgeschakeld (weet niet of dat in TomCat 7 mogelijk is).

Het is dan iig niet maven gerelateerd.

Acties:
  • 0 Henk 'm!

  • Salandur
  • Registratie: Mei 2003
  • Laatst online: 16:09

Salandur

Software Engineer

Ik vermoed dat het probleem ontstaan is doordat je de rol herdefinieert in je user config. Als het een standaard rol is lijkt mij dat niet nodig te zijn.

Assumptions are the mother of all fuck ups | iRacing Profiel


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Handmatig inloggen op de html interface gaat wel, sorry als ik onduidelijk was.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik ben er uit. Je moet dus geen server in de mavin plugin defineren maar gewoon de username en password.
code:
1
2
3
4
5
6
7
8
9
<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>tomcat-maven-plugin</artifactId>
    <configuration>
        <url>http://localhost:8080/manager/text</url>
        <username>username</username>
        <password>password</password>
    </configuration>
</plugin>

[ Voor 3% gewijzigd door Verwijderd op 08-09-2010 16:03 ]

Pagina: 1