2017-07-31 117 views
0

我正在使用codehaus.mojo库并试图将我的war文件部署到服务器。我做了一些教程,但我不知道它是否适用于亚马逊。亚马逊AWS,使用maven部署war到tomcat 8

我添加用户:

<tomcat-users> 
    <role rolename="manager"/> 
    <user username="test" password="test" roles="manager"/> 
</tomcat-users> 

编辑settings.xml中:

<server> 
     <id>mytomcat</id> 
     <username>test</username> 
     <password>test</password> 
</server> 

添加到pom.xml的插件:

<plugin> 
       <groupId>org.codehaus.mojo</groupId> 
       <artifactId>tomcat-maven-plugin</artifactId> 
       <configuration> 
        <url>http://35.164.242.196/manager</url> 
        <server>mytomcat</server> 
        <path>/test</path> 
       </configuration> 
      </plugin> 

我有错误是这样的:

[ERROR] Failed to execute goal org.codehaus.mojo:tomcat-maven-plugin:1.1:deploy (default-cli) on project springwebapp: Cannot invoke Tomcat manager: Error writing to server -> [Help 1] 
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:tomcat-maven-plugin:1.1:deploy (default-cli) on project springwebapp: Cannot invoke Tomcat manager 
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212) 
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) 
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) 
     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116) 
     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80) 
     at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) 
     at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128) 
     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307) 
     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193) 
     at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106) 
     at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863) 
     at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288) 
     at org.apache.maven.cli.MavenCli.main(MavenCli.java:199) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:498) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) 
Caused by: org.apache.maven.plugin.MojoExecutionException: Cannot invoke Tomcat manager 
     at org.codehaus.mojo.tomcat.AbstractCatalinaMojo.execute(AbstractCatalinaMojo.java:149) 
     at org.codehaus.mojo.tomcat.AbstractWarCatalinaMojo.execute(AbstractWarCatalinaMojo.java:70) 
     at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134) 
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207) 
     ... 20 more 
Caused by: java.io.IOException: Error writing to server 
     at sun.net.www.protocol.http.HttpURLConnection.writeRequests(HttpURLConnection.java:699) 
     at sun.net.www.protocol.http.HttpURLConnection.writeRequests(HttpURLConnection.java:711) 
     at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1567) 
     at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474) 
     at org.codehaus.mojo.tomcat.TomcatManager.invoke(TomcatManager.java:604) 
     at org.codehaus.mojo.tomcat.TomcatManager.deployImpl(TomcatManager.java:662) 
     at org.codehaus.mojo.tomcat.TomcatManager.deploy(TomcatManager.java:295) 
     at org.codehaus.mojo.tomcat.AbstractDeployWarMojo.deployWar(AbstractDeployWarMojo.java:85) 
     at org.codehaus.mojo.tomcat.AbstractDeployMojo.invokeManager(AbstractDeployMojo.java:85) 
     at org.codehaus.mojo.tomcat.AbstractCatalinaMojo.execute(AbstractCatalinaMojo.java:141) 
     ... 23 more 

我已经检查过最大文件大小的webapps/manager/WEB-INF/web.xml,增加了它,虽然我的战争小于47mb。

+0

您可以通过浏览器或卷曲访问管理器吗? – jingx

+0

@jingx,是的,我可以 –

回答

0

我向tomcat用户添加了一个角色为“manager-script”的用户。当然,我已经根据新的角色编辑了settings.xml,这是工作!

P.S.为了重新加载EXISTING项目使用重新部署命令。

https://stackoverflow.com/a/16292897/5651564