問題タブ [maven-profiles]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
maven - 特定の Maven ゴールが実行されたときにプロファイルをアクティブにしますか?
特定の Maven ゴールが実行されたときに Maven プロファイルを有効にするための一般的なソリューションを探しています。たとえば、私が実行した場合
また、プロファイルレポートを自動的に有効にしたいと考えています。たとえば、次を使用して、手動で実行したくありません。
プロファイルのアクティブ化部分で、プロファイルを有効にするトリガーとなるMavenの目標を指定できると思っていましたが、そうではないようです。
もう 1 つのアイデアは、プロパティによってプロファイルをアクティブ化できるため、特定の目標が実行された場合にプロパティが設定されるように何らかの方法で構成できるというものでした。しかし、私はそれを行う方法を本当に見つけていません。
一般的なソリューションへのポインタはありますか?
maven - Mavenのデフォルトのビルドプロファイル
Mavenプロジェクトにプロファイリングを追加しました。
mvn clean install
ビルドプロファイルを指定せずにコマンドを実行した場合。デフォルトで開発プロファイルをビルドする必要があります。
どうすればこれを達成できますか?
maven-3 - マルチモジュール プロジェクトでのプロファイルの使用
マルチモジュールのmavenプロジェクトがあります。プロジェクトのレイアウトは次のとおりです。
親プロジェクトには pom パッケージ タイプがあり、モジュールとして宣言CHILD1
およびプロジェクトを行います。CHILD2
また、PARENT
プロジェクトは、いくつかのプロパティを宣言するプロファイルdev
を宣言します。dev
CHILD1 プロジェクトには jar パッケージ タイプがあり、いくつかの依存関係 (依存関係など) を追加することでPARENT プロファイルを「オーバーライド」しますcommons-collections
。CHILD2 プロジェクトには war パッケージ タイプがあり、CHILD1 プロジェクトに依存しています。dev
また、CHILD2は、別の依存関係を追加することによって親プロファイルを「オーバーライド」します (commons-io
たとえば、プロジェクト CHILD1 の依存関係とは関係のない依存関係を意味します)。次に、mvn clean install -Pdev
mavenを実行するcommons-collections.jar
と、(CHILD1 プロジェクトで宣言されている依存関係) が CHILD2 プロジェクトに配置されませんWEB-INF/lib
が、commons-io.jar はそこにあります。
問題は、ターゲット プロジェクトがそのプロファイルで別の依存関係のセットを宣言している場合、ターゲット プロジェクトの依存プロジェクトで宣言されているプロファイルから依存関係を配置しないのはなぜですか?
実際、私はより多くのプロジェクトと、さまざまなプロファイルで異なるより多くの依存関係を持っています。そして、そのプロジェクトpom.xmlでプロジェクト固有の依存関係を宣言したい(プロジェクトでプロファイルを宣言すると、親プロファイル宣言が「オーバーライド」されると仮定)
maven - Mavenプロファイル内でのプロパティタグの使用
私は「Maven:完全なリファレンス<properties...
」、特にここでタグ内のタグの使用を文書化したプロファイルに関するセクションを参照してい<profile...
ます:ここを参照してください
私がよくわからないのは、mvn install -Denvironment.type=dev
コマンドが実行されたときに何が起こるかです。
- これでファイルが作成され
.properties
ますか? - そうでない場合、アプリが開発でテストされるときに、Tomcatは(たとえば)個々のプロパティをどこでどのように読み取るのでしょうか?
maven - Maven で専用プロファイルを作成する
私は現在、プラットフォーム固有のプロファイル (Linux 32 ビット、Windows 64 ビットなど) を持つ pom を持っています。さらに、インボーカーのプラットフォームをデフォルトとして自動的に選択するように設定しました。
ここで、Linux 32 マシンを使用しているとします。win64 を呼び出してビルドしたいのですmvn -Pwin64 pakage
が、そうすると、linux32 プロファイルと win64 プロファイルの両方がアクティブになります。タグactiveProfiles
を使用してローカル プラットフォーム プロファイルをアクティブ化しようとしました。問題は、ドキュメントativation
で説明されているように、-P が他のすべてのプロファイルを無効にしないことです。
このオプションは、使用するプロファイル ID のコンマ区切りリストである引数を取ります。このオプションを指定すると、オプション引数で指定されたプロファイル以外はアクティブになりません。
私はこれを間違って理解していますか?これをどのように処理しますか?
注: 実行できることはわかっていますmvn -P-linux32,win64
が、これは linux32 プラットフォームでのみ有効であり、間違いがあるとクラスが重複してビルドが肥大化する可能性があります。
ありがとう!
eclipse - Mavenビルド中にWARファイル内のファイルを上書きするにはどうすればよいですか?
Eclipse(より正確にはMyEclipse 10)で開発し、Maven3を使用してビルドするJavaWebアプリケーションプロジェクトがあります。
私は次のレイアウトを持っています(私の問題に関連するファイルのみを含みます:
ご覧のとおり、いくつかの構成ファイルを含めました。プロジェクト構造内の適切な場所にいる人、つまり内部src/main/resources
にsrc/main/webapp
いて、MyEclipseで作業するときに日常的に使用している人です。MyEclipseコネクターを使用して、デプロイメントを開発マシン上のTomcatインスタンスなどに自動的に更新できます。「サーバーの実行」をクリックするだけで、デバッグできます。実際には、このコンテキストでMavenを使用する必要はまったくありません。
次に、テストや本番環境などの別の環境用のリリースをビルドする場合は、実行するmvn -P test clean install
と、優れたWARがビルドされます。
私の目標は、最終的なWAR内の構成ファイルを。内の構成ファイルに置き換えることですsrc/config/{environment}/
。
私は自分のプロファイルを設定しましたpom.xml
:
次に、これらのリソースを(変数を使用して)指定されたプロファイルからenvironment
WAR内の正しい場所(またはWARに圧縮される一時フォルダー)にコピーしようとします。
「標準」リソースがこの後にディレクトリにコピーされることを除いて、これは機能しているように見えます。そのため、これらのファイルは上書きされます。だから私はいつも言うからのものの代わりに例えばlog4j.xml
からで終わるsrc/main/resources
src/main/configuration/prod/
Maven出力からの抽出:
最後の行でわかるように、からのものは後src/main/webapp
にコピーされるため、カスタムファイルが上書きされます:(
私の質問:Mavenに「アクティブ化されたプロファイルから」ファイルを使用させ、どういうわけか「自然な」ファイルを上書きする方法は?
maven - マルチモジュール プロジェクトの mvn でアクティブ化されたすべてのプロファイルを一覧表示する方法
mvn help:active-profiles は、呼び出すプロジェクト + システム設定内でアクティブ化されたプロファイルのみを一覧表示します。
つまり、親 pom から有効化/アクティブ化されたプロファイルはリストされません。
どのプロパティが有効になっているかどうかを確認するための試行錯誤以外の方法で、アクティブ化されたプロファイルの完全なリストを実際に表示する方法はありますか?
maven - Heroku に「acctest」maven プロファイルを使用させるにはどうすればよいですか?
Heroku を (エンドユーザー) 受け入れテスト環境として使用したいと考えています。私の異なる環境間の違いは、異なる Maven プロファイル (基本的に、プロパティ ファイルを含む特定のディレクトリを使用するように切り替えます) を使用してキャプチャされます。
したがって、ローカル開発の場合、「mvn -P local-dev package」を実行します。本番環境にデプロイするときは、「mvn -P prod install」などを実行します。
次に、Heroku で「acc-test」プロファイルを使用して Maven を実行します。つまり、標準の「mvn install」を実行する代わりに、git push で「mvn -P acc-test install」をトリガーする必要があります。
それは可能ですか?どうすればそれができますか?
maven - grailsでmavenプロファイルとプロファイルを使用するには?
私は、より大きなmavenプロジェクトのサブプロジェクトであるgrailsアプリケーションを持っています。いくつかのプロパティを grails に渡したいです。プロパティは Maven プロファイルで定義されます。これどうやってするの?grails アプリでこれらのプロパティにアクセスするには? このアプリを grails run-app で実行したい場合、どのように使用すればよいですか?
maven - 依存関係を削除する Maven プロファイル
宣言された依存関係 A、B、および C を持つ pom があります。依存関係を削除するプロファイルを作成することは可能ですか?