私はmavenツールを使い慣れていません。私はSpringとHibernateでプロジェクトを作っており、プラグインとしてpom.xmlに設定されていますが、JUnitは依存関係のタグが付けられています。私の質問は、プラグインとしての背後にあるロジックと依存関係としてのロジックは何ですか?pom xmlの依存関係とプラグインタグの間の違いは何ですか?
答えて
プラグインと依存ファイルの両方がJarファイルです。
しかし、それらの違いは、プラグインを使用して行われることです。依存関係はタスクを実行する間にクラスパスに追加される単なるJarファイルです。
たとえば、コンパイラプラグインを使用してJavaファイルをコンパイルします。コンパイラプラグインを依存関係として使用することはできません。これは、プラグインをクラスパスに追加するだけで、コンパイルをトリガしないためです。ファイルをコンパイルする際にクラスパスに追加されるJarファイルは、依存関係として指定されます。
同じことがシナリオに適用されます。いくつかの春の実行ファイルを実行するには、spring-pluginを使用する必要があります。私はちょうどここに推測している]。しかし、それらの実行可能ファイルを実行するには依存関係が必要です。 Junitはユニットテストを実行するためのsurefire-pluginによって使用されるため、依存関係のタグが付けられます。
したがって、プラグインはタスクを実行するJarファイルであり、依存関係はタスクを実行するためのクラスファイルを提供するJarです。
あなたの質問にお答えします。
Maven自体は、さまざまなタスクを達成するために使用できる多くの異なるユニットを持つフードプロセッサーとして記述することができます。これらのユニットはプラグインと呼ばれます。たとえば、プロジェクトをコンパイルするには、maven-compiler-plugin
を使用して、テストを実行します(maven-surefire-plugin
など)。
依存関係は、プロジェクトが依存しているパッケージされたクラスです。たとえば、JUnitテストを書くことができるようにするには、JUnitアノテーションとクラスを使用する必要があります。したがって、プロジェクトがJUnitに依存していることを宣言する必要があります。
迅速な回答に感謝、私はJUnitのもフレームワークと(休止状態、春)である知っているように申し訳ありませんが、それでも私は混乱していますまた、唯一の枠組みの下に来るので、ケース内の手段(休止状態、春)も設定することができることです依存関係のタグで?私はあなたに私の質問があることを願っています – Soumyaansh
はい、私が知っている限り、Spring Mavenプラグインのようなものはありません。通常、Springのlibs(またはHibernate、JUnit、TestNGなど)は、プロジェクトの依存関係として宣言されます。あなたがmavenに初めているなら、[this](http://www.sonatype.com/books/mvnref-book/reference/)非常に良い本を読むことをお勧めします。 –
リンクをありがとう、私は確かにそれを通過します! – Soumyaansh
プラグインは、Maven
に機能を追加するために使用されます(eclipse
サポートを追加するか、SpringBoot
をMaven
などに追加するなど)。 Mavenフェーズ(例えば、compile
またはtest
)を渡すために、ソースコードによって依存関係が必要です。 JUnit
の場合は、テストコードは基本的にコードベースの一部であり、テストスイート内にはで指定されていないコマンドJUnit
があります。したがって、Maven
がテスト段階にあり、これが処理されている必要があります。あなたのpom.xml
ファイルの依存関係としてJUnit
と言います。
あなたは私のようなフロントエンドの背景から来て、うなり声やNPMに精通している場合は、このようにそれを考えるには:
まずあなたは、たとえば、npm install grunt-contrib-copy --save-dev
を実行します。これは、Mavenの<dependency></dependency>
のようなものです。ビルドタスクの実行に必要なファイルをダウンロードします。
それからこれは、Mavenの<plugin>/<plugin>
のようなものですGruntfile.js
copy: {
main: {
src: 'src/*',
dest: 'dest/',
},
}
でタスクを構成します。npm/<dependency></dependency>
でダウンロードしたコードをビルドツールに伝えています。もちろん
これは正確なアナロジーではありませんが、その周りにあなたの頭をラップ助けるために十分に近いです。
- 1. Mavenの依存関係ツリーとPOMの依存関係
- 2. Mavenのリポジトリと依存関係の違いは何ですか?
- 3. Gradle依存関係とGradle依存関係のEclipseの違い
- 4. Gradle構成の依存関係とGradle構成の受信依存関係の違いは何ですか?
- 5. 複数のPOMファイル間で依存関係を共有する
- 6. org.jboss.seam-jboss.seam-2.2.2.GA.jarのPOM依存関係
- 7. 地元のpom依存関係がある間違いが間違ったバージョンを取得する
- 8. プロジェクトの参照とプロジェクトの依存関係の違いは何ですか?
- 9. 私のMavenプロジェクトは、依存関係内のpomから依存関係をインポートできますか?
- 10. タイプClientLibraryFolderのembed []と依存関係[]の違いは何ですか?
- 11. Gradle:クラスパスとコンパイルの依存関係の違いは何ですか?
- 12. 依存関係プロパティとWPFの添付プロパティの違いは何ですか?
- 13. NetBeansの "ビルド"と "依存関係を持つビルド"の違いは何ですか?
- 14. 依存関係ツリー出力の "+ - "と " - "の違いは何ですか?
- 15. 子pomの親pomプラグインの依存関係を除外
- 16. Webサービスとアプリケーション依存関係の名前空間の違い
- 17. artifactId "oracle"とのmaven依存関係は何ですか?
- 18. spring-webmvcの浅い依存関係は何ですか?
- 19. 依存関係を持つmaven uber pomの使い方は?
- 20. pomファイルからの依存関係の取得のみ
- 21. スプリングコンテキスト依存とスプリングコア依存の違いは何ですか?
- 22. ReactJS:コンポーネント間の関係(依存関係)
- 23. 関連するアーティファクト依存関係のないスナップショット依存関係のポイントは何ですか?
- 24. mavenの親依存関係を使用しています$ {project.version}での管理は間違ったバージョンの依存関係を引き起こします
- 25. 親pomの子依存関係を区別する方法は?
- 26. Weblogic 8.1.6の共通の依存関係は何ですか
- 27. LLVM DAGのグルーとチェーンの依存関係は何ですか?
- 28. ローカル依存関係の間接依存関係
- 29. Mavenの依存関係と複数のプロジェクトの依存関係の管理
- 30. Maven pomからの推移依存関係を除外
説明をいただきありがとうございます。私はそれを明確にしました:) – Soumyaansh
素敵な説明。 – bugCracker
誰かが、実行の段階と目標の違いは何か教えてもらえますか?私はフェーズがメイヴンのライフサイクルについて話していることを知っていた。しかしなぜ再びゴール?何かヒント?時には私は人々がゴールにライフサイクルキーワードを置くのを見ます... ??? (?。?)この@taymedee – taymedee