强制Maven不生成目标/类目录

时间:2017-05-26 20:16:06

标签: maven checksum

我尝试使用Checksum Maven Plugin为Assembly插件汇编的分发生成校验和文件。不幸的是,它还试图计算target/classes目录的校验和,当然它是空的。

除了黑客之外还有办法抑制target/classestarget/test-classes的创建吗?

Checksum Maven插件的当前配置如下:

<plugin>
    <groupId>net.nicoulaj.maven.plugins</groupId>
    <artifactId>checksum-maven-plugin</artifactId>
    <executions>
        <execution>
            <goals>
                <goal>artifacts</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <algorithms>
            <algorithm>MD5</algorithm>
            <algorithm>SHA-1</algorithm>
            <algorithm>SHA-256</algorithm>
        </algorithms>
    </configuration>
</plugin>

1 个答案:

答案 0 :(得分:1)

使用files目标。

上面的示例将为目录target中的所有文件生成校验和(由属性 $ {project.build.directory} 表示)。

要运行,请使用目标 net.nicoulaj.maven.plugins:checksum-maven-plugin:1.5:files

我测试了一个带有装配工件的maven项目。我可以从你的问题中重现这个问题。我也测试了这个解决方案并且它有效!

<plugin>
    <groupId>net.nicoulaj.maven.plugins</groupId>
    <artifactId>checksum-maven-plugin</artifactId>
    <executions>
        <execution>
            <goals>
                <goal>files</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <fileSets>
            <fileSet>
                 <directory>${project.build.directory}</directory>
            </fileSet>
        </fileSets>
        <algorithms>
            <algorithm>MD5</algorithm>
            <algorithm>SHA-1</algorithm>
            <algorithm>SHA-256</algorithm>
        </algorithms>
    </configuration>
</plugin>