0

我正在使用maven-jar-plugin生成源 jar。

我有以下文件夹结构:

folder/foo/baz/A.java
folder/bar/baz/B.java

我希望源 jar 包含以下内容:

baz/A.java
baz/B.java

我正在使用以下配置:

<plugin>
    <artifactId>maven-jar-plugin</artifactId>
    <version>2.4</version>
        <executions>
            <execution>
                <phase>generate-resources</phase>
                <goals>
                    <goal>jar</goal>
                </goals>
                <configuration>
                    <classesDirectory>folder</classesDirectory>
                    <includes>
                        <include>foo/**</include>
                        <include>bar/**</include>
                    </includes>
                    <finalName>sources</finalName>
                </configuration>
            </execution>
        </executions>
</plugin>

但这会创建这样的 jar:

folder/foo/baz/A.java
folder/bar/baz/B.java

如何修改代码以在 jar 中获得所需的结构?

4

1 回答 1

0

我无法用 解决这个问题maven-jar-plugin,我也不得不使用maven-resources-plugin

<plugin>
    <artifactId>maven-resources-plugin</artifactId>
    <version>2.4.3</version>
    <executions>
        <execution>
            <phase>generate-resources</phase>
            <goals>
                <goal>copy-resources</goal>
            </goals>
            <configuration>
                <outputDirectory>${project.build.directory}/sources/</outputDirectory>
                <resources>
                    <resource>
                        <directory>folder/foo/</directory>
                    </resource>
                    <resource>
                        <directory>folder/bar/</directory>
                    </resource>
                </resources>
            </configuration>
        </execution>
    </executions>
</plugin>

<plugin>
    <artifactId>maven-jar-plugin</artifactId>
    <version>2.4</version>
    <executions>
        <execution>
            <phase>generate-resources</phase>
            <goals>
                <goal>jar</goal>
            </goals>
            <configuration>
                <classesDirectory>${project.build.directory}/sources</classesDirectory>
                <includes>
                    <include>**/*</include>
                </includes>
                <finalName>sources</finalName>
            </configuration>
        </execution>
    </executions>
</plugin>
于 2014-04-22T22:42:07.330 回答