問題タブ [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アセンブリプラグインを使用して、アプリケーションの構造を含むzipファイルを生成し、パスが正しいことを保証しています。
「desenvolvimento」という名前のプロファイルはIDEでの開発に使用され、もう1つのプロファイルはプロダクションのzipファイルを生成するために使用されます。ご覧のとおり、プロファイルの違いは基本的にプロパティ値にあります。「desenvolvimento」プロファイルを使用している場合は正常に機能していますが、2番目のプロファイルのプロパティ「modelo_dav」に問題があります。このプロパティは「aplicacao.properties」で使用されますが、アセンブリプラグインはプロパティ$ {modelo_dav}を変更せずに「aplicacao.properties」をコピーします。jarファイルを開くと、「aplicacao.properties」ファイルの値が正しいため、 mavenがプロパティを変更する前に、アセンブリプラグインがファイルをコピーしていると想定しています。Mavenがプロパティを変更した後、アセンブリプラグインにファイルを強制的にコピーさせる方法はありますか?もう1つの質問は、最終的なjarファイルからプロパティファイルを削除するにはどうすればよいですか?
maven - Mavenプロファイル:maven-antrun-pluginとmaven-war-pluginの相互作用
次の3つのファイルを含むSpring framework
プロジェクトがありますsrc/main/webapp/WEB-INF
。
ビルドmaven profiles
の場合、上記のファイルを「注入」するために次のように使用しようとしています。prod
問題は、maven-antrun-plugin
実行する機会が得られるまでに、war
はすでにパッケージ化されていることです。アリ<target>
は走って適切な変更を加えますが、遅すぎます。
コマンドライン:
mvn出力:
どんなポインタでも大歓迎です。
maven - 複数のプロファイル依存関係を持つ Maven アーティファクトをデプロイする
私たちはMavenに比較的慣れていないため、現在問題に直面しています。
JAR が他のいくつかのプロジェクトに依存している Maven プロジェクト (projectA) があります。他のプロジェクトの一部はカスタム Web コンテナーですが、そうでないプロジェクトもあります。そのため、カスタム Web コンテナーの場合は projectA の依存関係 jar の一部が提供されますが、他のプロジェクトの場合はランタイム スコープである必要があります。現在、カスタム Web コンテナの場合、提供された jar を除外するために除外リストを使用しています。
Maven プロファイルを使用する方が良いかどうかは疑問です。異なる依存関係 (実際には同じ依存関係でスコープが異なる) でプロファイルを作成する方法を知っており、両方のプロファイルで、ビルドされた projectA jar はビット単位で同一です。しかし、私たちが知らないのは、projectA jar アーティファクトを Maven リポジトリにデプロイ/リリースするとき、pom.xml はどのように見えるべきかということです。これらの Web コンテナー プロジェクトの場合、pom.xml には提供された jar が含まれていませんが、他のプロジェクトの場合、pom.xml にはこれらの jar が含まれている必要があります。
各プロファイルで jar に異なる名前を使用し、それぞれを異なる pom.xml でデプロイできますが、これらの jar はビット単位で同一であるため、完全なソリューションとは思えません。そのため、この問題に対するより良い解決策が必要だと考えましたが、Maven に比較的慣れていないためわかりません。ありがとう。
maven - 異なるプロファイルを使用して Artifactory / Maven アーティファクトを管理する方法
さまざまなプロファイルを使用して生成されたさまざまな「jar」ファイルを管理する方法を理解するのに問題があります。例。私はプロジェクトを持っています: my.project:sample:1.0 そして、2 つのプロファイルを使用します:
- Profile1を使用すると、java 7 を使用してコンパイルされ、依存関係がother:project:1.0になります。
- Profile2を使用すると、Java 6 を使用してコンパイルされ、依存関係が異なる:プロジェクト:3.0になります。
ローカル環境でコマンド ラインを使用するのは簡単ですが、artifactory に保存して管理する方法がわかりません。
同じライブラリを使用するが、異なるプロファイルを使用して生成された 2 つの異なるプロジェクトがあります。
- プロジェクトには my.project :sample:1.0 - Profile1 が必要です」
- 別のプロジェクトでは my.project :sample:1.0 - Profile2 が必要です」
ライブラリとプロファイルでこれらの依存関係を指定するにはどうすればよいですか?
明確化: 生成された Jar はアーティファクトを使用して保存され、プロジェクトはリポジトリを使用して依存関係を解決します。プロジェクトをモジュールとして使用できません。
maven - 引数を使用してプロファイルを作成する
とにかく、maven プロファイルで引数を渡すことができますか。デフォルトのプロファイルに別の方法で指定されている場合、特定のポートでサーバーを実行したいのと同じように。mvn clean install -Pdeploy 4322 を実行したときと同様に、パッケージはポート 4322 で実行されているサーバーにデプロイする必要があります。そうでない場合は 4052 にデプロイします。
maven - Mavenプロファイルまたはsettings.xmlの共有
JDBC接続に関するいくつかのプロパティが定義されているいくつかのMavenプロファイルを定義し、それらをHTTP経由で利用できるようにして、いくつかのMavenプロジェクト間で開発チームで共有したいと思います。理想的には、プロジェクトのPOMに参照を追加し、Mavenにプロファイル定義をダウンロードしてもらいたいと思います。
それを行う方法はありますか?または、settings.xmlを介して、そのようなタイプのファイルを同じ方法で共有して実行できますか?
maven - Maven Pom 親子プロファイルの問題
親の pom.xml と子の pom.xml でmvn install -P profile name
定義されたプロファイルがありますが、親プロジェクトから実行しようとすると、プロファイル ファイルで定義されたプロパティがコピーされません。
私の親 pom.xml は次のようになります。
私の子 pom.xml:
maven - 実行可能 JAR のビルド時に、プロファイルによってアクティブ化された依存関係の名前を変更する
私は Java プロジェクトを構築するために Maven を使用するのはかなり初めてで、対処方法がわからない状況に遭遇しました。
私は 3 つの依存関係を持つ Java アプリケーションを持っていa
ます。ただし、構築しているプラットフォームによっては異なるアーティファクトになるため、これを実現するためにプロファイルを使用しました。ここに私のからのスニペットがあります:b
c
c
pom.xml
a
および成果物は、b
プラットフォームに依存せず、プロファイルと共にアクティブ化されないため、POM レベルで依存関係としてリストされます。簡潔にするために、ここでは示していません。
ここで、プロジェクトの実行可能 JAR をビルドし、コードから生成された JAR と一緒にディレクトリに 、 、および を含めたいa
のでb
、最終的には次のようになります。c
lib/
のマニフェストにmy-project-1.0.0.jar
は適切なクラスパスが含まれているため、ダブルクリックしてアプリケーションを起動できます。dependency:copy-dependencies
とjar:jar
ゴールを使用して、このすべてを機能させます。
そして...それは動作します。唯一の問題は、アクティブなプロファイルとして、またはアクティブなプロファイルに応じて、ディレクトリc
にコピーされる(そしてマニフェストに追加される)ことです。lib/
Class-Path
c-win32-x86-1.0.0.jar
c-win32-x86_64-1.0.0.jar
c-1.0.0.jar
の代わりにdependency:copy
withを使用すると正しいファイル名になりますが、 のエントリは引き続き「完全修飾」アーティファクト名 (つまり) を参照します。destFileName
dependency:copy-dependencies
Class-Path
lib/c-win32-x86-1.0.0.jar
私はこれについて間違った方法で進んでいますか?私がやろうとしていることを達成するためのより簡単な方法はありますか?