0

我刚刚修复了另一个奇怪的错误。将 spring-core 添加到 pom.xml 后,我在使用 maven 构建项目时出现“找不到对象 scala”。在谷歌上搜索这个错误很长一段时间后,我很高兴尝试使用 Eclipse 构建项目。瞧!它报告说 spring-core jar 已损坏。

所以,我的问题是:为什么 maven 没有报告呢?它不仅可以测试 jar 文件是否有效,还可以检查哈希和。而且我相信它应该检查哈希和。我错过了什么吗?

顺便说一句,这不是唯一的情况,不幸的是我不记得其他几个人的细节。

更新:看起来 checksumPolicy 标签解决了这个问题。但由于某种原因,它不起作用。

更新2:这是重现我最初描述的错误的测试用例:

cd "<maven_local_repo>\org\springframework\spring-core\3.1.3.RELEASE"
cp spring-core-3.1.3.RELEASE.jar spring-core-3.1.3.RELEASE.jar.old
#corrupt file manually
dd skip=100 if=spring-core-3.1.3.RELEASE.jar.old of=spring-core-3.1.3.RELEASE.jar
cd "<my_project_dir>"
mvn clean package
4

2 回答 2

1

看看 JBoss Tattletale.我相信它有你正在寻找的东西:

  1. 识别 JAR 文件之间的依赖关系
  2. 从类路径中查找缺失的类
  3. 发现一个类是否位于多个 JAR 文件中
  4. 发现同一个 JAR 文件是否位于多个位置 列出每个 JAR 文件需要和提供的内容
  5. 验证类的 SerialVersionUID
  6. 查找具有不同版本号的类似 JAR 文件
  7. Find JAR files without a version number
  8. Locate a class in a JAR file
  9. Get the OSGi status of your project
  10. Remove black listed API usage

You can integrate it in maven build as explained here.

于 2012-12-23T09:52:01.650 回答
0

Maven 检查哈希和。

运行 maven 时,您可以使用命令行选项。
如果校验和不匹配,则构建失败:
-C,--strict-checksums
如果校验和不匹配,则发出警告:
-c,--lax-checksums

于 2012-12-26T09:08:42.980 回答