mavenの一般的な基礎問題
6281 ワード
1.mavenマルチプロジェクト管理
1️⃣継承関係mavenのデフォルトは、ディレクトリ構造に基づいてpomの継承関係を設定します.すなわち、下位ディレクトリのpomは、上位ディレクトリのpomをデフォルトで継承します.
上位pom定義module(parent)
注意:ABCCommonはmoduleのディレクトリ名です
module
parentはmoduleに関連付けられ、継承関係が設定され、すべての親プロジェクトの構成内容がサブプロジェクトで自動的に有効になります.サブプロジェクトに同じ構成オーバーライドがない限り、
2️⃣参照関係
別の多重化方式で、typeをpomの依存に加えればよい.
ただし、親プロジェクトでも参照プロジェクトでも、これらのプロジェクトはmvn installまたはmvn deployでローカルライブラリにインストールする必要があります.そうしないと、依存が見つかりません.eclipseコンパイル中にエラーが発生します.
注:多重化では、親プロジェクトのpomでdependencyManagementノードを定義できます.依存関係は保存されますが、この依存関係は定義にすぎず、実際には効果がありません.サブプロジェクトがこの依存関係を使用する場合は、独自のdependencyに簡略化された参照を追加できます.
バージョン番号が空を飛ぶのを避ける
2.一部のsunのlicneceの制限は、repositoryに含めることができないため、mvnコマンドを使用してjarパッケージをローカルrepositoryまたは会社のrepositoryにインストールする必要があります.
3.pomで定義したカスタム属性
${my.filter.value}対応するhello値を取得
4.依存関係をどのように遮断しますか?たとえば、プロジェクトで使用されるlibAはライブラリの1.0版に依存し、libB以来のライブラリの2.0版は、2.0版を統一的に使用したい場合、1.0版の依存をどのように削除しますか?
exclusionを設定すればよい
5.jarファイルに依存するものがありますが、これらのjarをmvnのrepositoryにinstallしたくないので、どのように構成しますか?
systemタイプを使用する特殊な依存関係を追加
注意:ただし、このjarはパブリッシュ時にコピーされないことを覚えておいてください.手動で構成する必要があり、他のプロジェクトがこのプロジェクトに依存している場合、警告が報告されます.
6.出力するjarパケットにすべての依存を自動的に含ませたい
7.私のテスト例は他の工事のテスト例に依存しています.どのように設定しますか?
maven自体は、リリース時に単純なjarをリリースしたり、xxx-testsを同時にリリースしたりすることができます.JArとxxx-javadoc.JAr(repositoryではよく似たようなものが見られます).私たちのプロジェクトAは同時にtestを出力します.jarは次のような設定ができます
次に、他の参照が必要な工程Bで次のようなdependency設定を行います.
8.変数の置換方法プロジェクト内のjdbcなどのプロファイルpropertiesはpomの変数をいくつか使用し、パブリケーションで実際のコンテンツを含む最終結果ファイルをどのように使用しますか?
9.私のプログラムでは、一部のユニットのテストにエラーがありました.テスト手順を無視するにはどうすればいいですか?
10.単一のテスト・インスタンスのみを実行したい場合は、実装できますか?
11.プラグインにパラメータを割り当てる方法
対応するプラグインのヘルプ情報を参照
12.私のディレクトリは非標準のディレクトリ構造です.mavenをサポートするように設定するにはどうすればいいですか?
他は重要ではないと思っているかもしれませんが、抜粋してください.https://www.cnblogs.com/BigTall/archive/2011/03/23/1993253.html
1️⃣継承関係mavenのデフォルトは、ディレクトリ構造に基づいてpomの継承関係を設定します.すなわち、下位ディレクトリのpomは、上位ディレクトリのpomをデフォルトで継承します.
上位pom定義module(parent)
ABCCommon
ABCCore
ABCTools
注意:ABCCommonはmoduleのディレクトリ名です
module
com.abc.product1
abc-product1
1.0.0-SNAPSHOT
abc-my-module2
jar
parentはmoduleに関連付けられ、継承関係が設定され、すべての親プロジェクトの構成内容がサブプロジェクトで自動的に有効になります.サブプロジェクトに同じ構成オーバーライドがない限り、
2️⃣参照関係
別の多重化方式で、typeをpomの依存に加えればよい.
org.sonatype.mavenbook
persistence-deps
1.0
pom
ただし、親プロジェクトでも参照プロジェクトでも、これらのプロジェクトはmvn installまたはmvn deployでローカルライブラリにインストールする必要があります.そうしないと、依存が見つかりません.eclipseコンパイル中にエラーが発生します.
注:多重化では、親プロジェクトのpomでdependencyManagementノードを定義できます.依存関係は保存されますが、この依存関係は定義にすぎず、実際には効果がありません.サブプロジェクトがこの依存関係を使用する場合は、独自のdependencyに簡略化された参照を追加できます.
org.springframework
spring
バージョン番号が空を飛ぶのを避ける
2.一部のsunのlicneceの制限は、repositoryに含めることができないため、mvnコマンドを使用してjarパッケージをローカルrepositoryまたは会社のrepositoryにインストールする必要があります.
3.pomで定義したカスタム属性
...
hello
...
${my.filter.value}対応するhello値を取得
4.依存関係をどのように遮断しますか?たとえば、プロジェクトで使用されるlibAはライブラリの1.0版に依存し、libB以来のライブラリの2.0版は、2.0版を統一的に使用したい場合、1.0版の依存をどのように削除しますか?
exclusionを設定すればよい
org.hibernate
hibernate
3.2.5.ga
javax.transaction
jta
5.jarファイルに依存するものがありますが、これらのjarをmvnのrepositoryにinstallしたくないので、どのように構成しますか?
systemタイプを使用する特殊な依存関係を追加
com.abc
my-tools
2.5.0
jar
system
注意:ただし、このjarはパブリッシュ時にコピーされないことを覚えておいてください.手動で構成する必要があり、他のプロジェクトがこのプロジェクトに依存している場合、警告が報告されます.
6.出力するjarパケットにすべての依存を自動的に含ませたい
maven-assembly-plugin
jar-with-dependencies
7.私のテスト例は他の工事のテスト例に依存しています.どのように設定しますか?
maven自体は、リリース時に単純なjarをリリースしたり、xxx-testsを同時にリリースしたりすることができます.JArとxxx-javadoc.JAr(repositoryではよく似たようなものが見られます).私たちのプロジェクトAは同時にtestを出力します.jarは次のような設定ができます
org.apache.maven.plugins
maven-jar-plugin
test-jar
次に、他の参照が必要な工程Bで次のようなdependency設定を行います.
com.abc.XXX
A
${project.version}
test-jar
test
8.変数の置換方法プロジェクト内のjdbcなどのプロファイルpropertiesはpomの変数をいくつか使用し、パブリケーションで実際のコンテンツを含む最終結果ファイルをどのように使用しますか?
...
com.mysql.jdbc.Driver
jdbc:mysql://localhost:3306/development_db
dev_user
s3cr3tw0rd
...
src/main/resources
true
...
production
oracle.jdbc.driver.OracleDriver
jdbc:oracle:thin:@proddb01:1521:PROD
prod_user
s00p3rs3cr3t
9.私のプログラムでは、一部のユニットのテストにエラーがありました.テスト手順を無視するにはどうすればいいですか?
① -Dmaven.test.skip=true -DskipTests=true
② surefire
org.apache.maven.plugins
maven-surefire-plugin
2.8
true
10.単一のテスト・インスタンスのみを実行したい場合は、実装できますか?
-Dtest=MyTest , MyTest
11.プラグインにパラメータを割り当てる方法
対応するプラグインのヘルプ情報を参照
...
maven-compiler-plugin
1.5
1.5
...
12.私のディレクトリは非標準のディレクトリ構造です.mavenをサポートするように設定するにはどうすればいいですか?
target
src
js/scripts
test
bin
bin
他は重要ではないと思っているかもしれませんが、抜粋してください.https://www.cnblogs.com/BigTall/archive/2011/03/23/1993253.html