2016-04-03 4 views
1

私は、Mavenのドキュメントでこのノートを見つけた:Apacheのdocでこの行に従ったmaven拡張について何が変わるでしょうか?

あなたが拡張することにより、このクラスローダに要素を追加することができます。これらは${maven.home}/libと同じ場所にロードされ、現在のプロジェクトとその後のプロジェクトのMavenコアとすべてのプラグインで使用できます(将来、今後のプロジェクトから削除する予定です)。

「今後のプロジェクト」の意味を理解できませんでした。私が理解する限り、拡張はMavenのライフサイクルフェーズの強化であり、プロジェクト固有のものではありません。したがって、すべてのMavenプロジェクトで作業するのは理にかなっています。

質問:誰もがこの文は「将来的に、我々は、その後のプロジェクトから削除する予定」

答えて

0

まずライフサイクルのextensions can be extensionsではなく、する必要が何を意味するのかを説明することができます。拡張機能をEventSpy for exampleとして実装することもできます。

このdocumentationは、このような拡張機能で使用できるCore Classloaderに関連しており、拡張機能を使用して拡張することも可能です。このクラスローダーには、${maven.home}/libのファイルが含まれていますが、これは良い考えではありません。 Maven Plugin APIだけを持っている方が良いでしょう。現在は使用されているインスタンスです...

特別な場合にトランスポートを行うために使用しているワゴンのような拡張機能がいくつかあります。

Maven 3.3.1で始まるコアエクステンションメカニズムは、プロジェクト固有の拡張をより簡単にロードできるように改善されました。これは、ファイルが${maven.projectBasedir}/.mvn/extensions.xmlにあり、リポジトリからロードされていることを意味します。 3.3.1より前には、手動でmvn -Dmaven.ext.class.path=extension.jarで行う必要があります。

関連する問題