2

プロジェクトの pom.xml ファイルでプロファイルを使用して、特定のサーバーへの war ファイルの展開を制御しようとしています。例として、ローカル プロファイルと開発サーバー プロファイルがあります。これが私のプロファイルの設定方法です

<profiles>

    <profile>
        <id>local</id>
        <activation>
            <activeByDefault>true</activeByDefault>
            <property>
                <name>target</name>
                <value>local</value>
            </property>
        </activation>
        ...
        <build>
            <plugins>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>tomcat7-maven-plugin</artifactId>
                    <version>2.2</version>
                    <configuration>
                        <url>http://10.16.21.60:8080/manager/text</url>
                        <server>localTomcat</server>
                        <path>/</path>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </profile>

    <profile>
        <id>dev</id>
        <activation>
            <property>
                <name>target</name>
                <value>dev</value>
            </property>
        </activation>
        ...
        <build>
            <plugins>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>tomcat7-maven-plugin</artifactId>
                    <version>2.2</version>
                    <configuration>
                        <url>http://devserverurl:8080/manager/text</url>
                        <server>devTomcat</server>
                        <path>/</path>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </profile>

呼んでいます

mvn org.apache.tomcat.maven:tomcat7-maven-plugin:2.2:deploy

これを試してみると、構成10.16.21.60で指定された IP アドレスに接続しようとするのではなく、に接続しようとしていることがわかりますlocalhost。ユーザー名とパスワードを使用して、両方devTomcatlocalTomcatローカルファイルに定義しました。settings.xml

次に、-X詳細情報のオプションを追加すると、プラグインのデバッグ出力で確認できます (強調が追加されました)

    [DEBUG] mojo の構成 org.apache.tomcat.maven:tomcat7-maven-plugin:2.2:deploy from plugin realm ClassRealm[plugin>org.apache.tomcat.maven:tomcat7-maven-plugin:2.2, parent: sun.misc .Launcher$AppClassLoader@5c647e05]
    [デバッグ] mojo 'org.apache.tomcat.maven:tomcat7-maven-plugin:2.2:deploy' を基本コンフィギュレーターで設定 -->
    [デバッグ] (f) charset = ISO-8859-1
    [デバッグ] (f) contextFile = ....
    [デバッグ] (f) ignorePackaging = false
    [デバッグ] (f) モード = 戦争
    [DEBUG] (f) パッケージ化 = 戦争
    [デバッグ] (f) パス = ...
    [デバッグ] (f) update = false
    [デバッグ] (f) url = http://localhost:8080/manager/text
    [デバッグ] (f) バージョン = 2.2
    [デバッグ] (f) warFile = ...
    [デバッグ] (f) 設定 = org.apache.maven.execution.SettingsAdapter@61874b9d
    [デバッグ] -- 構成の終了 --
    [INFO] war を http://localhost:8080/... にデプロイしています  
    [DEBUG] 認証用のサーバーが指定されていません - デフォルトを使用します

私の構成設定が守られているようには見えません! これが機能すると私が考えた方法は、localプロファイルがアクティブ化されているため、その構成を使用することです。

<build>また、プロファイルを使用せずに、セクションでプラグインを定義するだけで、同じ効果が得られました。http://localhost:8080常に認証なしで接続を試みます。

このプロジェクトでも を使用していることは注目に値するでしょうgwt-maven-plugin。これが tomcat プラグインの構成に干渉する可能性があるかどうかはわかりません。

4

1 に答える 1