Maven没有警告腐败的罐子

时间:2012-12-23 09:43:28

标签: maven

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

所以,我的问题是:为什么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

2 个答案:

答案 0 :(得分:1)

查看JBoss Tattletale.i相信它有你想要的东西:

  1. 识别JAR文件之间的依赖关系
  2. 从类路径中查找缺少的类
  3. 如果一个类位于多个JAR文件中,则发现
  4. 如果相同的JAR文件位于多个位置,请点击 列出每个JAR文件所需的内容并提供
  5. 验证类的SerialVersionUID
  6. 查找具有不同版本号的类似JAR文件
  7. 查找没有版本号
  8. 的JAR文件
  9. 在JAR文件中找到一个类
  10. 获取项目的OSGi状态
  11. 删除黑名单的API使用
  12. 您可以按照here所述将其集成到maven构建中。

答案 1 :(得分:0)

Maven检查哈希值。

当您运行maven时,您可以使用命令行选项 如果校验和不匹配,则构建失败:
-C, - 严格-校验
如果校验和不匹配,则发出警告:
-c, - 松弛-校验