1

javascriptとcssを最小化するためのニーズを満たすMavenプラグインが見つからなかったため、独自のプラグインを作成し始めました。しかし、私は障害にぶつかったようです。最小化されたバージョンのファイルは、常にwarプラグインまたは他の何かによって上書きされます。

私のファイル構造は

src
   main
       java
       webapp
           assets
                 css
                   style1.css
                   style2.css
                   style3.css
                 js
                   script1.js
                   script2.js
                   script3.js

私のプラグインはそれらを取得し、最小化し、ビルドディレクトリでそれらを置き換えます(想定されています)。それらが上書きされないようにするにはどうすればよいですか?

4

2 に答える 2

1

プラグインは変更されたファイルをどこに出力しますか?私の見方では、必要な変更を加えて(機能する場合)、MavenWarプラグインが元のリソースをそれらにコピーします。

おそらく、より良い答えを得るために、コードとpom.xmlを添付する必要があります。

編集:

テストプロジェクトを確認した後、pom.xmlに次の変更を加えることで問題を解決できます。

diff --git a/pom.xml b/pom.xml
index 0fb6044..ee693f7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -72,9 +72,17 @@
                                <version>2.2</version>
                                <configuration>
                                        <webappDirectory>${basedir}/src/main/webapp</webappDirectory>
+                                       <warSourceExcludes>assets</warSourceExcludes>
+
                                        <failOnMissingWebXml>false</failOnMissingWebXml>
+                                       <webResources>
+                                               <resource>
+                                                       <!-- this is relative to the pom.xml directory -->
+                                                       <directory>${project.build.directory}/minified</directory>
+                                               </resource>
+                                       </webResources>
                                </configuration>
                        </plugin>
                </plugins>
        </build>
-</project>
\ No newline at end of file
+</project>

src/main/webapp/assetsまた、変更したcssファイルが正しくないディレクトリに変更されているという印象を受けています。これらのファイルは、ターゲットディレクトリの下のそれぞれのディレクトリにコピーされた後にのみ変更する必要があります。

リポジトリをフォークして、プルリクエストを送信しました。

于 2012-06-29T21:07:58.627 に答える
1

まず、JS/CSSを圧縮およびマージできるhttp://alchim.sourceforge.net/yuicompressor-maven-plugin/compress-mojo.htmlを使用することをお勧めします。

次に、どのプラグインが実際に圧縮ファイルを上書きし、どのフェーズでそれが発生するかを把握する必要があります。フェーズがわかったら、プラグインが他のプラグインのに実行されることを確認する必要があります。

于 2012-07-01T08:51:27.727 に答える