1

Mavenを使用してグルーヴィーなプロジェクトを構築しようとしています。私のパッケージ タイプは war ファイルです。Maven はプロジェクトをビルドし、すべての依存ライブラリを WEB-INF/lib フォルダーに配置していますが、すべてのコードをクラス ファイルにコンパイルして WEB-INF/classes フォルダーに配置しています。プロジェクト用のjarファイルも作成し、それをWEB-INF/libフォルダーに入れるようにmavenに指示する方法はありますか。

私の pom.xml は次のようになります。

<groupId>com.myproject</groupId>
<artifactId>ExampleProject</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>My Example Project</name>
<url>http://maven.apache.org</url>
<dependencies>

...
...
...
</dependencies>
<build>
    <resources>
        <resource>
            <directory>${basedir}/src/main/groovy</directory>
            <excludes>
                <exclude>**/*.groovy</exclude>
            </excludes>
        </resource>
        <resource>
            <directory>${basedir}/src/main/resources</directory>
        </resource>
    </resources>
    <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <version>1.5</version>
            <executions>
                <execution>
                    <id>add-source</id>
                    <phase>generate-sources</phase>
                    <goals>
                        <goal>add-source</goal>
                    </goals>
                    <configuration>
                        <sources>
                            <source>src/main/groovy</source>
                            <source>src/main/resources</source>
                        </sources>
                    </configuration>
                </execution>
                <execution>
                    <id>add-test-source</id>
                    <phase>generate-test-sources</phase>
                    <goals>
                        <goal>add-test-source</goal>
                    </goals>
                    <configuration>
                        <sources>
                            <source>src/test/groovy</source>
                            <source>src/test/resources</source>
                        </sources>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
    <finalName>master</finalName>
</build>
4

1 に答える 1

1

これらのシナリオでは、通常のアプローチは、war モジュールからの依存関係となる別のモジュールにライブラリ コードを分離することです。この提案については、 project で jar と war の両方を生成する方法も確認できます。

ただし、言及したソリューションを引き続き使用する場合は、pom で次の構成を使用して実行できます。

<configuration>
  ..
  <attachClasses>true</attachClasses>
  <archiveClasses>true</archiveClasses>
</configuration>

( http://maven.apache.org/plugins/maven-war-plugin/war-mojo.html、および別の war からクラスファイルを使用する方法を参照)

于 2014-10-31T10:24:45.447 に答える