Maven Tomcat 插件:无法部署到服务器

Maven Tomcat Plugin: can't deploy to server

我的环境:Windows 8.1 -> Tomcat 7.0.59 -> Maven 3.2.5.

我有一个可以编译的现成项目,得到一个 war 文件,复制到 %TOMCAT_HOME%\webapps,启动 Tomcat 和 运行我的应用程序,一切正常。但我想要设置自动部署。我在 pom.xml:

中添加了一个插件
<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>${tomcat.version}</version>
    <configuration>
        <url>http://localhost:8080/manager/html</url>
        <server>MyTomcat</server>
        <path>/foxrestful</path>
    </configuration>
</plugin>

然后在%TOMCAT_HOME%\conf\tomcat-users.xml我补充说:

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users xmlns="http://tomcat.apache.org/xml"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
              version="1.0">
    <role rolename="manager-gui"/>
    <role rolename="admin-gui"/>
    <role rolename="manager-script"/>
    <role rolename="manager"/>
    <user username="admin" password="11qqsd" roles="admin-gui,admin,manager,manager-gui,manager-script,manager-jmx,manager-status"/>    
</tomcat-users>

%MAVEN_HOME\conf\settings.xml%C:\Users\%USERNAME%\.m2\settings.xml:

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <pluginGroups>
  </pluginGroups>
  <proxies>
  </proxies>
  <servers>   
    <server>
        <id>MyTomcat</id>
        <username>admin</username>
        <password>11qqsd</password>
    </server>
  </servers>
  <mirrors>
  </mirrors>  
  <profiles>
  </profiles>
</settings>

然后我在我的 pom.xml 文件中添加一个 Maven Tomcat 插件:

<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.2</version>
    <configuration>
        <url>http://localhost:8080/manager/html</url>
        <server>MyTomcat</server>
        <path>/foxrestful</path>
    </configuration>
</plugin>

为了检查我的设置我开始Tomcat,打开http://localhost:8080/manager/html,输入登录名:admin,密码: 11qqsd 和 Tomcat 显示经理应用程序面板。工作了!

当我在控制台执行

mvn tomcat7:deploy

我得到:

[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building foxrestful 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] >>> tomcat7-maven-plugin:2.2:deploy (default-cli) > package @ foxrestful >>>
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ foxrestful ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO] 
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ foxrestful ---
[INFO] Nothing to compile - all classes are up to date
[INFO] 
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ foxrestful ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory e:\Compilers\Projects\Java\JerseyRESTful\src\test\resources
[INFO] 
[INFO] --- maven-compiler-plugin:2.3.2:testCompile (default-testCompile) @ foxrestful ---
[INFO] No sources to compile
[INFO] 
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ foxrestful ---
[INFO] No tests to run.
[INFO] 
[INFO] --- maven-war-plugin:2.6:war (default-war) @ foxrestful ---
[INFO] Packaging webapp
[INFO] Assembling webapp [foxrestful] in [e:\Compilers\Projects\Java\JerseyRESTful\target\foxrestful]
[INFO] Processing war project
[INFO] Copying webapp resources [e:\Compilers\Projects\Java\JerseyRESTful\src\main\webapp]
[INFO] Webapp assembled in [170 msecs]
[INFO] Building war: e:\Compilers\Projects\Java\JerseyRESTful\target\foxrestful.war
[INFO] 
[INFO] <<< tomcat7-maven-plugin:2.2:deploy (default-cli) < package @ foxrestful <<<
[INFO] 
[INFO] --- tomcat7-maven-plugin:2.2:deploy (default-cli) @ foxrestful ---
[INFO] Deploying war to http://localhost:8080/foxrestful  
Uploading: http://localhost:8080/manager/html/deploy?path=%2Ffoxrestful
2/11111 KB   
4/11111 KB   
6/11111 KB   
8/11111 KB   
10/11111 KB   
12/11111 KB   
14/11111 KB   
16/11111 KB   
18/11111 KB   
20/11111 KB   
22/11111 KB   
24/11111 KB   
26/11111 KB   
28/11111 KB   
30/11111 KB   
32/11111 KB   
34/11111 KB   
36/11111 KB   
38/11111 KB   
40/11111 KB   
42/11111 KB   
44/11111 KB   
46/11111 KB   
48/11111 KB   
50/11111 KB   
52/11111 KB   
54/11111 KB   
56/11111 KB   
58/11111 KB   
60/11111 KB   
62/11111 KB   
64/11111 KB   
66/11111 KB   
68/11111 KB   
70/11111 KB   
72/11111 KB   
74/11111 KB   
76/11111 KB   
78/11111 KB   
80/11111 KB   
82/11111 KB   
84/11111 KB   
86/11111 KB   
88/11111 KB   
90/11111 KB   
92/11111 KB   
94/11111 KB   
96/11111 KB   
98/11111 KB   
100/11111 KB   
102/11111 KB   
104/11111 KB   
106/11111 KB   
108/11111 KB   
110/11111 KB   
112/11111 KB   
114/11111 KB   
116/11111 KB   
118/11111 KB   
120/11111 KB   
122/11111 KB   
124/11111 KB   
126/11111 KB   
128/11111 KB   
130/11111 KB   
132/11111 KB   
134/11111 KB   
136/11111 KB   
138/11111 KB   
140/11111 KB   
142/11111 KB   
144/11111 KB   
146/11111 KB   
148/11111 KB   
150/11111 KB   
152/11111 KB   
154/11111 KB   
156/11111 KB   
158/11111 KB   
160/11111 KB   
162/11111 KB   
164/11111 KB   
166/11111 KB   
168/11111 KB   
170/11111 KB   
172/11111 KB   
174/11111 KB   
176/11111 KB   
178/11111 KB   
180/11111 KB   
182/11111 KB   
184/11111 KB   
186/11111 KB   
188/11111 KB   
190/11111 KB   
192/11111 KB   

[INFO] I/O exception (java.net.SocketException) caught when processing request: Connection reset by peer: socket write error
[INFO] Retrying request
Uploading: http://localhost:8080/manager/html/deploy?path=%2Ffoxrestful
2/11111 KB   
4/11111 KB   
6/11111 KB   
8/11111 KB   
10/11111 KB   
12/11111 KB   
14/11111 KB   
16/11111 KB   
18/11111 KB   
20/11111 KB   
22/11111 KB   
24/11111 KB   
26/11111 KB   
28/11111 KB   
30/11111 KB   
32/11111 KB   
34/11111 KB   
36/11111 KB   
38/11111 KB   
40/11111 KB   
42/11111 KB   
44/11111 KB   
46/11111 KB   
48/11111 KB   
50/11111 KB   
52/11111 KB   
54/11111 KB   
56/11111 KB   
58/11111 KB   
60/11111 KB   
62/11111 KB   
64/11111 KB   
66/11111 KB   
68/11111 KB   
70/11111 KB   
72/11111 KB   
74/11111 KB   
76/11111 KB   
78/11111 KB   
80/11111 KB   
82/11111 KB   
84/11111 KB   
86/11111 KB   
88/11111 KB   
90/11111 KB   
92/11111 KB   
94/11111 KB   
96/11111 KB   
98/11111 KB   
100/11111 KB   
102/11111 KB   
104/11111 KB   
106/11111 KB   
108/11111 KB   
110/11111 KB   
112/11111 KB   
114/11111 KB   
116/11111 KB   
118/11111 KB   
120/11111 KB   

[INFO] I/O exception (java.net.SocketException) caught when processing request: Connection reset by peer: socket write error
[INFO] Retrying request
Uploading: http://localhost:8080/manager/html/deploy?path=%2Ffoxrestful
2/11111 KB   
4/11111 KB   
6/11111 KB   
8/11111 KB   
10/11111 KB   
12/11111 KB   
14/11111 KB   
16/11111 KB   
18/11111 KB   
20/11111 KB   
22/11111 KB   
24/11111 KB   
26/11111 KB   
28/11111 KB   
30/11111 KB   
32/11111 KB   
34/11111 KB   
36/11111 KB   
38/11111 KB   
40/11111 KB   
42/11111 KB   
44/11111 KB   
46/11111 KB   
48/11111 KB   
50/11111 KB   
52/11111 KB   
54/11111 KB   
56/11111 KB   
58/11111 KB   
60/11111 KB   
62/11111 KB   
64/11111 KB   
66/11111 KB   
68/11111 KB   
70/11111 KB   
72/11111 KB   
74/11111 KB   
76/11111 KB   
78/11111 KB   
80/11111 KB   
82/11111 KB   
84/11111 KB   
86/11111 KB   
88/11111 KB   
90/11111 KB   
92/11111 KB   
94/11111 KB   
96/11111 KB   
98/11111 KB   
100/11111 KB   
102/11111 KB   
104/11111 KB   
106/11111 KB   
108/11111 KB   
110/11111 KB   
112/11111 KB   
114/11111 KB   
116/11111 KB   
118/11111 KB   
120/11111 KB   
122/11111 KB   
124/11111 KB   
126/11111 KB   
128/11111 KB   
130/11111 KB   
132/11111 KB   
134/11111 KB   
136/11111 KB   
138/11111 KB   
140/11111 KB   

[INFO] I/O exception (java.net.SocketException) caught when processing request: Connection reset by peer: socket write error
[INFO] Retrying request
Uploading: http://localhost:8080/manager/html/deploy?path=%2Ffoxrestful
2/11111 KB   
4/11111 KB   
6/11111 KB   
8/11111 KB   
10/11111 KB   
12/11111 KB   
14/11111 KB   
16/11111 KB   
18/11111 KB   
20/11111 KB   
22/11111 KB   
24/11111 KB   
26/11111 KB   
28/11111 KB   
30/11111 KB   
32/11111 KB   
34/11111 KB   
36/11111 KB   
38/11111 KB   
40/11111 KB   
42/11111 KB   
44/11111 KB   
46/11111 KB   
48/11111 KB   
50/11111 KB   
52/11111 KB   
54/11111 KB   
56/11111 KB   
58/11111 KB   
60/11111 KB   
62/11111 KB   
64/11111 KB   
66/11111 KB   
68/11111 KB   
70/11111 KB   
72/11111 KB   
74/11111 KB   
76/11111 KB   
78/11111 KB   
80/11111 KB   
82/11111 KB   
84/11111 KB   
86/11111 KB   
88/11111 KB   
90/11111 KB   
92/11111 KB   
94/11111 KB   
96/11111 KB   
98/11111 KB   
100/11111 KB   
102/11111 KB   
104/11111 KB   
106/11111 KB   
108/11111 KB   
110/11111 KB   
112/11111 KB   
114/11111 KB   
116/11111 KB   
118/11111 KB   
120/11111 KB   
122/11111 KB   
124/11111 KB   
126/11111 KB   
128/11111 KB   
130/11111 KB   
132/11111 KB   

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.210 s
[INFO] Finished at: 2015-03-18T17:28:50+03:00
[INFO] Final Memory: 15M/210M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.tomcat.maven:tomcat7-maven-plugin:2.2:deploy (default-cli) on project foxrestful: Cannot invoke Tomcat manager: Connection reset by peer: socket write error -> [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

谁能告诉我我做错了什么?谢谢。

试试这个 "mvn tomcat7:redeploy" 命令

尝试使用 http://localhost:8080/manager/text 而不是 http://localhost:8080/manager/html

此外,不应同时授予用户 manager-gui、manager-script 角色。

在pom fie插件配置中,使用这个:

<configuration>
    <url>http://localhost:8080/manager/text</url>
    <server>MyTomcat</server>
    <username>admin</username>
    <password>11qqsd</password>
    <path>/foxrestful</path>
</configuration>

您必须将 URL 更改为 manager/text 而不是 manager/html。 如果单独更改它不起作用,请将 <username><password> 也添加到插件配置中,它将起作用。

tomcat-user.xml 有问题。

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

我确实通过将 username/password 放入 pom 文件解决了这个问题。

但是,我想知道如果我只想在 maven setttings.xml 上配置 username/password 为什么它不起作用。

有人知道吗?

谢谢

这解决了错误

无法调用 Tomcat 管理器:对等方重置连接:套接字写入错误

运行 以管理员身份启动两个单独的命令提示符终端。在第一个终端中,转到您的 tomcat bin dir & 运行 shutdown.bat 然后 startup.bat 在我的例子中

c:\Program Files\Apache Software Foundation\apache-tomcat-8.5.8\bin>shutdown.bat

c:\Program Files\Apache Software Foundation\apache-tomcat-8.5.8\bin>startup.bat

在第二个终端中,转到您的 maven webapp 目录,然后 运行 mvn 命令。就我而言

mvn tomcat7:deploy

这将是一次成功!!!