2014-10-14 14 views
11

Ich habe ein Problem, wenn ich versuche, Java-Anwendung zu implementieren.Tomcat 7: Verbindung zurückgesetzt durch Peer oder Software verursachte Verbindungsabbruch

Cannot invoke Tomcat manager: Connection reset by peer: socket write error 

oder

Cannot invoke Tomcat manager: Software caused connection abort: socket write error 

In pom.xml Ich habe dies:

<plugin> 
    <groupId>org.apache.tomcat.maven</groupId> 
    <artifactId>tomcat7-maven-plugin</artifactId> 
    <version>2.2</version> 
    <configuration> 
     <url>http://localhost:8085/manager/html</url> 
     <server>tomcat7</server> 
     <path>/java_web</path> 
     <username>admin</username> 
     <password>admin</password> 
    </configuration> 
</plugin> 

In tomcat-users.xml Ich habe diese:

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

Auch in Maven/conf/settings.xml ich habe:

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

Als ich

http://localhost:8085/manager/html/deploy?path=%2Fjava_web&update=true 

und Eingabe Benutzername und Passwort (admin admin) zu gehen versuche ich habe Fehler:

403 Access Denied 
You are not authorized to view this page. 

Aber ich getippt in tomcat-users.xml die Benutzer admin manager-gui Rolle. Ich benutze Tomcat 7.0.56 und Jenkins. Verwenden Sie auch Befehle: clean und tomcat7-redeploy. Benötigen Sie Hilfe, um zu verstehen, was falsch ist: C

Antwort

11

In meinem Fall Einstellungen sahen in Ordnung aus, aber ich hatte bereits die gleiche Webapp auf Tomcat hochgeladen und hatte

<update>true</update> 
nicht angegeben

in Tomcat-Plugin in pom.xml, so Maven konnte nicht neue Webapp auf der bestehenden und laufenden Webapp hochladen.

Also denken Sie darüber nach.

+0

Ich habe Stunden gesucht, um dies zu beheben, danke – mCeviker

2

Benutzer mit der Rolle manager-gui sollten weder die Rollen manager-script noch manager-jmx erhalten.

so ist, sollten Benutzer admin die Rolle "manager-gui" entfernen

+0

Dies war der Grund für meine "Verbindung wird zurückgesetzt" Probelm. Dem Administrator wurde die falsche Rolle von Manager-GUI zugewiesen. Ich habe eine neue Manager-Skript-Rolle und einen neuen Benutzer hinzugefügt und mein Problem wurde gelöst. –

+0

Warum nicht? Warum sollten sie nicht Manager-GUI und Manager-Skript haben? – dwjohnston

6

Ich habe

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

in Benutzer/.m2/settings.xml

Auch habe ich nicht Ändere pom.xml, tomcat-users.xml und Maven/conf/settings.xml und jetzt funktioniert alles gut.

+0

Ich glaube, dein Problem war die Server-Konfiguration in deiner Tomcat-Maven-Konfiguration. Es widerspricht den Einstellungen für Benutzername und Passwort. In der Datei pom.xml sollten Sie entweder den tomcat7 Teil entfernen und den Benutzernamen und das Passwort behalten oder den Benutzernamen und das Passwort entfernen und tomcat7 behalten. –

+0

Die Position von setings.xml kann abweichen, z. könnte auch sein: D: \ apache-maven-3.3.9 \ conf \ settings.xml – Hartmut

+0

danke, das ist perfekt! Die Server-ID von maven's settings.xml entspricht der Server-ID in der Server-ID von tomcat7-maven-plugin von pom.xml oder anders herum :-). So können Sie viele Server definieren und Anmeldeinformationen an einem Ort aufbewahren, aber von vielen pom beziehen .xml's dazu. – Hartmut

3
 <plugin> 
      <!-- tomcat deploy plugin --> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>tomcat-maven-plugin</artifactId> 
      <configuration> 
       <url>http://localhost:8080/manager/text</url> 
       <server>TomcatServer</server> 
       <username>XXXX</username> 
       <password>XXXX</password> 
       <path>/XXXX</path> 
      </configuration> 
     </plugin> 

Dies funktioniert für mich :)

Umwelt -> Windowd 8.1 + Maven 3 + Tomcat 8.1.15 + JDK 1.8 Auch hatte ich tomcat zu verwenden: umschichten

ALso, update Ihre Maven-Einstellungen über -> Preferences-> Maven-> User Settings zeigen auf Ihre Maven settings.xml-Datei. Fügen Sie die Werte des Servers in der Maven settings.xml hinzu (Server-Abschnitt und fügen Sie dort die Tomcat-Serverdetails hinzu).Verwenden Sie das hier (für mich die ID ist TomcatServer)

Einige der Schritte von hier aufgenommen wurden: - http://kosalads.blogspot.de/2014/03/maven-deploy-war-in-tomcat-7.html

0
mvn tomcat7:redeploy 

versuchen, dies als documentation schlägt vor:

(Alias for the deploy goal with its update parameter set to true.)

+0

Es ist seit 2.1 –

Verwandte Themen