重要度の高い順に3つの質問-リンクで十分です。
Mavenプラグインのプロキシやサーバーなどの特定のMaven設定を読み取る必要があります。プラグインからそれらを読み取るにはどうすればよいですか。.m2 / settings.xmlファイルから読み取ることはできますが、もっと簡単な方法があるはずだと思います(すでにそれを行っているAPIもあります)。
開発者のクックブックから、クラスがあることがわかります
org.apache.maven.project.MavenProject
これをプラグインで使用できるようにするために必要な依存関係-これがあればよいと思います。自分のプロパティを持つことは可能ですか?
settings.xml
たとえば言う<users>
<user>
<username> user_name1 </ username>
<password> encode_password </ password>
</ user>
</ users>どのように ?
PS:私は初心者です。
アップデート1
Settings.xmlを介してPOMプロパティを挿入した後、カスタムプロパティを作成して読み取ることができました。ただし、貨物と同様の構成にしたい。例えば
<servers>
<server>
<id>tomcat7_local</id>
<configuration>
<cargo.hostname>localhost</cargo.hostname>
<cargo.remote.uri>http://localhost:8080/manager/text</cargo.remote.uri>
<cargo.remote.username>my_username</cargo.remote.username>
<cargo.remote.password>my_password</cargo.remote.password>
<cargo.servlet.port>8080</cargo.servlet.port>
</configuration>
</server>
<server>
<id>tomcat6_local</id>
<configuration>
<cargo.hostname>localhost</cargo.hostname>
<cargo.remote.uri>http://localhost:8080/manager</cargo.remote.uri>
<cargo.remote.username>my_username</cargo.remote.username>
<cargo.remote.password>my_password</cargo.remote.password>
<cargo.servlet.port>8080</cargo.servlet.port>
</configuration>
</server>
</servers>
どうすればこれを達成できますか。私の3番目の問題に対して、正しい方法かどうかわからないような回避策があります。
編集
ありがとうJordan002!複数のプロファイルを持つことができることは知っていますが、それらを使用することを知りませんでした。このようにプロファイルを作成することで、変数の値を設定したり、次のように言ってプラグインに値を挿入したりできます。
@Parameter(alias = "cargo.hostname") プライベート文字列のホスト名。しかし、私が見るように、カーゴプラグインの場合、必要なものはすべて次のように定義されています
<servers>
<server>
<id>someId</id>
<configuration>
<!-- Configurations are placed here -->
</configuration>
</servers>
同様に、またはここに構成がないため、あまり類似していない可能性があります
<proxies>
<proxy>
<active>true</active>
<protocol>http</protocol>
<host>My_proxy_host</host>
<port>My_proxy_port</port>
</proxy>
</proxies>
ここに、Mavenが使用するプロキシ情報を配置できます。さて、私はいくつかのプロファイル内でそれを再定義したくありませんし、情報を得るためにこのファイルを解析したくありません。
さらに、貨物のようなことをしたいです。これにより、サーバー内のすべての構成を記述でき、プロジェクトのpomでは次の操作を行うだけで済みます。
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<configuration>
<container>
<containerId>tomcat7x</containerId>
<type>remote</type>
</container>
<configuration>
<type>runtime</type>
<properties>
<cargo.server.settings>tomcat7_local</cargo.server.settings>
</properties>
</configuration>
<deployer>
<type>remote</type>
</deployer>
<deployables>
<deployable>
<groupId>${project.groupId}</groupId>
<artifactId>${project.artifactId}</artifactId>
<type>war</type>
<properties>
<context>${project.artifactId}</context>
</properties>
</deployable>
</deployables>
</configuration>
</plugin>
そして、貨物はtomcat7_localに対して定義した構成を取得します。これについては、プロファイルを作成する必要はありません。