1

私のプロジェクトが my-web-application という名前の場合、mvn clean installmaven を最初に呼び出してフォルダーにコンパイルしtarget\my-web-application-1.0、そのフォルダーを my-web-application-1.0.war に「zip」するよりも...

しかし、最近見つけたように、それは(おそらくデフォルト設定で)どのように機能するかではありません。

いくつかのサードパーティ コンポーネントを使用しており、それらのコンポーネントのスタイル (.css) と動作 (.js) を変更したいので、依存関係の jar 内のコンテンツを次のように変更して置き換えます。

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <version>1.2.1</version>
<plugin>

以下に実行例を示します (org フォルダを componentToModify.jar に圧縮します)

<execution>
    <id>fix</id>
    <phase>package</phase>
    <configuration>
        <executable>jar</executable>
        <workingDirectory>${basedir}</workingDirectory>
        <arguments>
            <argument>-uvf</argument>
            <argument>target/${project.artifactId}-${project.version}/WEB-INF/lib/componentToModify.jar</argument>
            <argument>org</argument>
        </arguments>
    </configuration>
    <goals>
        <goal>exec</goal>
    </goals>
</execution>

の componentToModify.jar を正しく変更するものはありますtarget\my-web-application-1.0が、最終的な戦争には変更が含まれていません。ライブラリは、ローカル リポジトリから war に圧縮されているようです。

そのような動作には何らかの理由があり、どうにかして変更できますか?

4

1 に答える 1

0

完全にはわかりませんが、オーバーレイを使用するとここで役立ちますか?

http://maven.apache.org/plugins/maven-war-plugin/overlays.html

他のすべてが失敗した場合は、サードパーティのアプリケーションを変更して、変更を加えた独自の jar を作成することをお勧めします。

于 2013-05-14T17:24:09.100 に答える