2017-07-31 83 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