checksum-maven-plugin生成校验文件失败及命令行参数问题求助
问题解决办法
一、修正pom.xml里的插件配置
你之前执行mvn clean install没生成文件,大概率是插件没绑定到Maven的生命周期阶段,或者配置没针对依赖文件做正确设置。给你一个能用的配置示例:
<build> <plugins> <plugin> <groupId>net.nicoulaj.maven.plugins</groupId> <artifactId>checksum-maven-plugin</artifactId> <version>1.10</version> <executions> <execution> <id>generate-dependency-checksums</id> <!-- 绑定到verify阶段,执行install前会自动触发插件 --> <phase>verify</phase> <goals> <!-- 用dependencies目标专门处理项目依赖,比files目标更贴合你的需求 --> <goal>dependencies</goal> </goals> <configuration> <!-- 开启CSV格式输出 --> <csv>true</csv> <!-- 指定输出文件的路径和名称,会生成在target目录下 --> <outputFile>${project.build.directory}/dependencies-checksums.csv</outputFile> <!-- 配置要生成的校验算法,按需添加或删减 --> <algorithms> <algorithm>MD5</algorithm> <algorithm>SHA-1</algorithm> </algorithms> <!-- 可选:是否包含传递依赖,默认是true --> <includeTransitive>true</includeTransitive> </configuration> </execution> </executions> </plugin> </plugins> </build>
配置完之后再执行mvn clean install,就能在target目录下找到dependencies-checksums.csv了。
二、命令行执行的正确姿势
如果不想改pom,想临时用命令行生成,别用files目标,直接用dependencies目标更省事,命令如下:
mvn net.nicoulaj.maven.plugins:checksum-maven-plugin:1.10:dependencies -Dcsv=true -DoutputFile=./dependencies-checksums.csv -Dalgorithms=MD5,SHA-1
要是非得用files目标,注意fileSets的参数格式——Maven不认['someClassPath']这种写法,得明确指定目录和包含的文件规则,比如:
mvn net.nicoulaj.maven.plugins:checksum-maven-plugin:1.10:files -DfileSets[0].directory=src/main/java -DfileSets[0].includes=**/*.java -Dcsv=true -DoutputFile=./files-checksums.csv
三、排查要点
- 版本兼容:确保你的Maven版本是3.0以上,能支持1.10版本的插件
- 生命周期绑定:要是没绑定阶段,
install不会自动触发插件,得手动执行mvn checksum:dependencies - 权限问题:检查输出目录有没有写入权限,避免文件生成失败但没报错提示
内容的提问来源于stack exchange,提问作者patrinox
相关产品推荐
相关产品推荐

