4

Tomcat がサービスとしてインストールされているリモート マシンへの展開に問題があります。私の tomcat-users は次のとおりです。

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

</tomcat-users>

私のsettings.xmlは次のとおりです。

<settings>
<pluginGroups>
<pluginGroup>org.apache.tomcat.maven</pluginGroup>
</pluginGroups>
<servers>
<server>
  <id>tomcat7</id>
  <username>admin</username>
  <password>admin</password>
</server>

</servers>

</settings>

そして、私の pom.xml には次のものがあります。

            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <configuration>
                    <server>tomcat7</server>
                    <url>http://localhost:8081/manager/text</url>
                    <warFile>target/editor-${project.version}.war</warFile>
                </configuration>

そして、Maven コンソールの出力で 401 Unauthorized を取得し続けます。私が間違っていることを教えてもらえますか?

4

4 に答える 4

6

次の方法は私にとってはうまくいきます。

  1. pom.xml含めるように変更してください

    <project>
        ...
        <build>    
            <plugins>    
            ....
                <plugin>
                    <groupId>org.apache.tomcat.maven</groupId>
                    <artifactId>tomcat7-maven-plugin</artifactId>
                    <version>2.1</version>
                    <configuration>
                        <url>http://localhost:8080/manager/text</url>
                        <server>my-tomcat</server>
                        <path>/myapp</path>
                    </configuration>
                </plugin>
            </plugins>
            ...
        </build>
        ...
    </project>
    
  2. Tomcat 7 サーバーに次の行があることを確認しますTOMCAT_HOME/conf/tomcat-users.xml

    <!-- Role to manage WAR files via HTML /manager. The name should be as is! -->
    <role rolename="manager-gui"/>
    <!-- Role to manage WAR files via script like Maven. The name should be as is! -->
    <role rolename="manager-script"/>
    
    <!-- One user cannot have manager-gui and manager-script roles -->
    <user username="managerGui" password="managerPwd" roles="manager-gui"/>
    <user username="manager" password="managerPwd" roles="manager-script"/>
    
  3. USER_HOME/.m2/settings.xmlパスワードを含めるように構成します。

    <settings>
        ...
        <servers>
            ...
            <server>
                <id>my-tomcat</id>
                <username>manager</username>
                <password>managerPwd</password>
            </server>
        </servers>
    
    </settings>
    
  4. を使用してデプロイmvn tomcat7:redeploy

詳細については、http://tomcat.apache.org/tomcat-7.0-doc/manager-howto.htmlを参照してください。

于 2013-04-30T05:45:46.817 に答える
3

-x -e を指定して mvn を実行すると、サーバーに送信されている情報の種類が表示されます。私の推測では、サーバーはユーザー名/パスを取得していません。これは、設定ファイル ie:settings.xml に何か問題があることを意味します

tomcat7-maven-plugin は settings.xml の場所をどのように認識していますか?

編集: このwhich-maven-settings-xml-files をチェックしてください

elekは -X を指定して mvn を実行するように提案し、最初に「.user/.m2/settings.xml からのユーザー設定の読み取り..

于 2012-11-08T14:08:10.507 に答える
0

tomcat-users.xml ですべてのロールを宣言する必要があります。

<role rolename="tomcat"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="admin"/>
<role rolename="manager-script"/>

ハイ

于 2012-11-06T10:54:12.410 に答える