私はTomcat-maven-pluginを使用して、戦争をサーバーにデプロイします。私がしなければならないのは、pom.xmlで次のように構成することです。
<configuration>
...
<url>http://localhost/manager</url>
<username>admin</username>
<password>admin</password>
...
</configuration>
しかし、私は自分のコンピューターで作業しているため、この設定を別の場所に保持したいのは明らかですが、サーバーの設定が異なるステージングサーバーとライブサーバーもあります。
.m2/settings.xml
を使用してみましょう:
<servers>
<server>
<id>local_Tomcat</id>
<username>admin</username>
<password>admin</password>
</server>
</servers>
次に、pom.xmlを変更します。
<configuration>
<server>local_Tomcat</server>
</configuration>
しかし、サーバーのURLをどこに置くのでしょうか。サーバータグの下のsettings.xmlには、その場所はありません。たぶんこんな感じ?
<profiles>
<profile>
<id>Tomcat-config</id>
<properties>
<Tomcat.url>http://localhost/manager</Tomcat.url>
</properties>
</profile>
</profiles>
<activeProfiles>
<activeProfile>Tomcat-config</activeProfile>
</activeProfiles>
..そして$ {Tomcat.url}プロパティを使用します。
しかし、問題は、なぜsettings.xml
でサーバータグを使用するのかということです。ユーザー名とパスワードのプロパティも使用しないのはなぜですか?または、URLの場所も設定URLにあるので、プロパティを使用する必要はありませんか?
まず、profiles
はMavenの最も強力な機能の1つです。
まず、pom.xml
に次のようなプロファイルを作成します。
<profiles>
<profile>
<id>Tomcat-localhost</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<Tomcat-server>localhost</Tomcat-server>
<Tomcat-url>http://localhost:8080/manager</Tomcat-url>
</properties>
</profile>
</profiles>
次に、~/.m2/settings.xml
ファイルに次のようなservers
エントリを追加します。
<servers>
<server>
<id>localhost</id>
<username>admin</username>
<password>password</password>
</server>
</servers>
次のようにbuild
プラグインを構成します。
<plugin>
<!-- enable deploying to Tomcat -->
<groupId>org.codehaus.mojo</groupId>
<artifactId>Tomcat-maven-plugin</artifactId>
<version>1.1</version>
<configuration>
<server>${Tomcat-server}</server>
<url>${Tomcat-url}</url>
</configuration>
</plugin>
これにより、デフォルトでTomcat-localhost
プロファイルが有効になり、単純なmvn clean package Tomcat:deploy
を使用してプロファイルにデプロイできるようになります。
他のターゲットにデプロイするには、適切な認証情報を使用して<server/>
に新しいsettings.xml
エントリを設定します。新しいprofile
を追加しますが、<activation/>
スタンザは省略し、適切な詳細を指すように構成します。
次に、それを使用するには、mvn clean package Tomcat:deploy -P [profile id]
を実行します。ここで、[profile id]
は新しいプロファイルです。
settings.xml
で認証情報が設定されるのは、ほとんどの場合、ユーザー名とパスワードは秘密にすべきであり、人々が適応しなければならないサーバー認証情報を設定する標準の方法から逸脱する理由はないためです。
settings.xml
<settings>
<servers>
<server>
<id>company.jfrog.io</id>
<username>user-name</username>
<password>user-password</password>
</server>
</servers>
</settings>
pom.xml
<repositories>
<repository>
<id>company.jfrog.io</id>
<url>https://company.jfrog.io/company/release</url>
</repository>
</repositories>
settings.xml
を
c:/Users/user-name/.m2/settings.xml
(Windowsの場合)、
~/.m2/settings.xml
(Linuxの場合)。
company.jfrog.io
は任意の識別子にすることができますが、settings.xml
とpom.xml
で同じにする必要があります。
これはMaven 3で機能します。