【问题标题】:Deploying with tomcat-maven-plugin使用 tomcat-maven-plugin 部署
【发布时间】:2014-04-22 12:02:35
【问题描述】:

我在尝试将我的 maven 项目部署到 debian 上的 tomcat 7 时遇到 401 错误。

     org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:tomcat-maven-plugin:1.1:redeploy (default-cli) on project ClientPortal: Cannot invoke Tomcat manager
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)
        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:84)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
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:101)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
        ... 19 more
Caused by: java.io.IOException: Server returned HTTP response code: 401 for URL: http://localhost:8181/manager/text/deploy?path=%2FClientPortal&war=&update=true
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1626)
        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)
        ... 22 more

我的 tomcat 在 8181 端口上运行,这是我的 pom.xml

 <build>
            <sourceDirectory>src</sourceDirectory>
            <plugins>
                    <plugin>
                            <groupId>org.apache.tomcat.maven</groupId>
                            <artifactId>tomcat7-maven-plugin</artifactId>
                            <version>2.2</version>
                            <configuration>
                                    <url>http://localhost:8181/manager/text</url>
                                    <server>Tomcat7</server>
                                    <username>admin</username>
                                    <password>tomcat</password>
                                    <path>/ClientPortal</path>
                            </configuration>
                    </plugin>
                    <plugin>
                            <artifactId>maven-war-plugin</artifactId>
                            <version>2.3</version>
                            <configuration>
                                    <warSourceDirectory>WebContent</warSourceDirectory>
                                    <failOnMissingWebXml>false</failOnMissingWebXml>
                            </configuration>
                    </plugin>
                    <plugin>
                            <artifactId>maven-compiler-plugin</artifactId>
                            <version>3.1</version>
                            <configuration>
                                    <source>1.7</source>
                                    <target>1.7</target>
                            </configuration>
                    </plugin>
            </plugins>
    </build>

tomcat-users.xml

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

我还尝试在我的 .m2 目录中创建一个 settings.xml

   <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">
  <localRepository/>
  <interactiveMode/>
  <usePluginRegistry/>
  <offline/>
  <pluginGroups/>
  <servers>
        <server>
         <id>Tomcat7</id>
         <username>admin</username>
         <password>tomcat</password>
        </server>
  </servers>
  <mirrors/>
  <proxies/>
  <profiles/>
  <activeProfiles/>
</settings>

【问题讨论】:

    标签: maven tomcat7 maven-tomcat-plugin


    【解决方案1】:

    错误 401 是未经授权的 URL 的标志。请检查有效的用户/密码。

    将tomcat-users.xml改成

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

    尝试管理员登录

    【讨论】:

    • 我已经进行了更改,但仍然没有成功。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-23
    • 1970-01-01
    • 2014-06-04
    • 2020-08-08
    • 1970-01-01
    • 2011-09-20
    • 2015-04-10
    相关资源
    最近更新 更多