1

私はMavenプラグインexecを使用し、pom.xmlのプロファイルで次のように定義しました。

<profile>
    <id>optimizepng</id>
    <build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>exec</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <executable>optipng</executable>
                    <arguments>
                        <argument>src/main/webapp/images/*.png</argument>
                    </arguments>
                </configuration>
            </plugin>
        </plugins>
    </build>
</profile>

ここで、このコードサンプルで定義した引数をに設定する<argument>-h</argument>と、ターミナル呼び出しmvn org.codehaus.mojo:exec-maven-plugin:exec -P optimizepngは期待どおりに機能し、optipngのヘルプを出力します。

私が理解したのは、アスタリスクはシェル文字として解釈されない可能性があるということです。これが理由でしょうか?もしそうなら、シェルの解釈を切り替えるためにどこにでも適用できるタグはありますか?

そもそも私の計画に関する追加情報:optipngを使用して、src / main / webapp /images/フォルダー内のすべてのpngファイルを最適化したい。シェルコマンドとして使用するのはですoptipng src/main/webapp/images/*.png

4

1 に答える 1

0

さて、今それは速かった。代わりにシェルを起動して、実行したいターミナル呼び出しを解釈させることができると思いました。

<configuration>
    <executable>sh</executable>
    <arguments>
        <argument>-c</argument>
        <argument>optipng src/main/webapp/images/*.png</argument>
    </arguments>
</configuration>

このコードサンプルは私が修正しなければならなかったものなので、これでうまくいきます。

于 2012-04-10T22:47:57.277 に答える