1

プロジェクトのソースをパックするために maven-source-plugin を使用しています。通常、main/java および main/resources からすべてを 1 つのルートにまとめて取得します。

私が望むのは、プロジェクト構造を最終的な -source.jar のようsrc/main/java/**に保持src/main/resources/**し、テスト部分も保持することです。

インクルード構成を試してみましたが、役に立ちませんでした

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-source-plugin</artifactId>
    <version>2.3</version>
    <executions>
        <execution>
        <id>attach-sources</id>
        <goals>
            <goal>jar-no-fork</goal>
        </goals>
            <configuration>
                <includes>src/main/**, src/resources/**</includes>
            </configuration>
        </execution>
    </executions>
</plugin>

私が得るエラーは

[INFO] Failed to configure plugin parameters for: org.apache.maven.plugins:maven-source-plugin:2.3

(found static expression: 'src/main/**, src/resources/**' which may act as a default value).

Cause: Cannot assign configuration entry 'includes' to 'class [Ljava.lang.String;' from 'src/main/**, src/resources/**', which is of type class java.lang.String

それは本当に「静的式が見つかりました」というエラーですか、それとも構成が正しくありませんか? または、これを達成する別の方法はありますか?


編集

そのため、@carlspring からのヒントのように POM を変更すると、エラーはなくなりましたが、結果として、結果の sources.jar にソース ファイルもリソース ファイルも含まれていません。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-source-plugin</artifactId>
    <version>2.3</version>
    <executions>
        <execution>
            <id>attach-sources</id>
            <goals>
                <goal>jar-no-fork</goal>
            </goals>
            <configuration>
        <includes>
        <include>src/main/**</include>
        <include>src/test/**</include>
        </includes>
            </configuration>
        </execution>
    </executions>
</plugin>

たぶん、手がかりはincludesオプションの説明にあります:

含めるファイルのリスト。コンテンツが JAR にパッケージ化される入力ディレクトリに相対的なファイルセット パターンとして指定されます。

つまり、jar-no-forkの入力ディレクトリが src/main/java| resourcesの場合、私の質問には答えられません。

4

1 に答える 1