2011-11-16 11 views
5

POMファイルの外で私のMavenプロファイルを定義する方法はありますか?ではなく、.m2/settings.xml
私はMavenの2を使用していますので、個別のXMLファイル内部アプリケーション(Mavenの2と3で効率的に作業する方法)でそれらを定義して、すぐに3に切り替えていきたいです。POM外のMavenプロファイルを定義

答えて

1

Maven 2.2.1までは、プロファイルをprofiles.xmlファイルに個別のファイルとして定義できましたが、Maven 3ではこの機会が削除されました。質問はなぜあなたはプロファイルのための別のファイルが必要ですか?

+4

私にはたくさんのプロファイルがあり、各プロファイルには多くのプロパティが含まれていて、とても大きい。 –

+0

異なるプロジェクトタイプに適用されると仮定して、プロファイルを含むスーパーポームの使用はどうですか?あなたのプロジェクトポムは、この共通の動作をすべて再定義することなく、その親のポンを使用することができます。 – RonU

+0

このようなアプローチのURLは別の答えでお願いします。 –

1

プロファイルの種類とそれぞれの使用方法について説明しているビルドプロファイルでthis maven documentationを使用したい場合があります。

maven 3を使用する場合は、プロファイルをpom.xmlまたはsettings.xmlの外に定義することはできません。

0

最近、maven2からアプリケーションをmaven3に移行していました。 Maven 3では、外部プロファイルを持つ可能性はありません。しかし、外部プロパティファイルを持つことができます。これは

<plugin> 
<groupId>org.codehaus.mojo</groupId> 
<artifactId>properties-maven-plugin</artifactId> 
<version>1.0-alpha-2</version> 
<executions> 
    <!-- Associate the read-project-properties goal with the initialize phase, 
    to read the properties file. --> 
    <execution> 
    <phase>initialize</phase> 
    <goals> 
    <goal>read-project-properties</goal> 
    </goals> 
    <configuration> 
    <files> 
    <file>../com.tak/build.properties</file> 
    </files> 
    </configuration> 
    </execution> 
</executions> 
</plugin> 

だからここで私は(http://programtalk.com/java/migrate-from-maven2x-to-maven3x/

0
<profiles> 
    <profile> 
     <id>dev</id> 
     <activation> 
      <activeByDefault>true</activeByDefault> 
     </activation> 
     <properties> 
      <build.profile.id>dev</build.profile.id> 
     </properties> 
    </profile> 
    <profile> 
     <id>prod</id> 
     <properties> 
      <build.profile.id>prod</build.profile.id> 
     </properties> 
    </profile> 
    <profile> 
     <id>test</id> 
     <properties> 
      <build.profile.id>test</build.profile.id> 
     </properties> 
    </profile> 
</profiles> 

ことを行うと、フィルタ

<filters> 
    <filter>src/test/resources/${build.profile.id}/config.properties</filter> 
</filters> 

を追加し、任意のディレクトリを追加する方法を説明してきたのmaven-プロパティ・プラグインによって達成することができますdev、prod、test)

関連する問題