2

>mvn packageappfuse-basic-spring-archetype v2.1.0 プロジェクトで正常に実行されると、コンソール出力に次のように表示されます。

[INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ ScanillionAppTier02 ---
[debug] execute contextualize
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 20 resources
[INFO] Copying 16 resources
[INFO] Copying 16 resources
[INFO] Copying 16 resources

最後の 3 行 (Copying 16...) に注目してください。実行>mvn -X packageして DEBUG 出力を取得しました。これは、リソース プラグインが最初に 16 個のファイルをフィルタリングし、次にそれらを 2 回コピーしていると主張していることを示しています。

ビルドのフォークされた hibernate3-maven-plugin:hbm2ddl 部分内でさらに多くのコピーが発生します。そのセクションでは、16 個のファイルが 1 回フィルタリングされ、4 回コピーされたことが出力に示されています。

繰り返しになりますが、ビルドは機能するので、祝福を数えることができました (そうすべきでしたか?)、目をそらして、プロジェクトを続行しました。悲しいかな、私はこのネズミ穴に落ちました。答えが得られるまで、私は悩まされます。男が眠るのを手伝ってください。:-)

編集 2012 年 3 月 19 日 cdhabecker: 詳細

-X オプションを指定した Maven の出力で、次のことがわかりました。

[DEBUG] Configuring mojo 'org.apache.maven.plugins:maven-resources-plugin:2.5:resources' with basic configurator -->
[DEBUG]   (f) buildFilters = []
[DEBUG]   (f) encoding = UTF-8
[DEBUG]   (f) escapeWindowsPaths = true
[DEBUG]   (s) includeEmptyDirs = false
[DEBUG]   (s) outputDirectory = C:\eclipse\workspace\foo\target\classes
[DEBUG]   (s) overwrite = false
[DEBUG]   (f) project = MavenProject: com.foo:foo:0.0.1-SNAPSHOT @ C:\eclipse\workspace\foo\pom.xml
[LOOK]   (s) resources = [Resource {targetPath: null, filtering: true, FileSet {directory: C:\eclipse\workspace\foo\src\main\resources, PatternSet [includes: {}, excludes: {ApplicationResources*.properties}]}}, 
[LOOK]                    Resource {targetPath: null, filtering: true, FileSet {directory: C:\eclipse\workspace\foo\target\resources, PatternSet [includes: {}, excludes: {}]}}, 
[LOOK]                    Resource {targetPath: null, filtering: false, FileSet {directory: C:\eclipse\workspace\foo\target\resources, PatternSet [includes: {}, excludes: {}]}}, 
[LOOK]                    Resource {targetPath: null, filtering: false, FileSet {directory: C:\eclipse\workspace\foo\target\resources, PatternSet [includes: {}, excludes: {}]}}]
[DEBUG]   (f) session = org.apache.maven.execution.MavenSession@eddac
[DEBUG]   (f) supportMultiLineFiltering = false
[DEBUG]   (f) useBuildFilters = true
[DEBUG]   (s) useDefaultDelimiters = true
[DEBUG] -- end configuration --

[LOOK] とマークされた行を見ると、maven-resources が 4 つのタスク (20 個のファイルのフィルター、16 個のファイルのフィルター、およびそれらの 16 個のファイルの 2 つの冗長コピー) があると考えていることがわかります。

だから今、私は何か(例えば、native2ascii-maven-pluginまたは他のプラグインまたはmavenビルドプランジェネレーター)がこれらのタスクをmaven-resources-pluginに登録しており、システム内の何もそれらのタスクのいくつかが冗長。

4

0 に答える 0