Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven没有';不要警告损坏的罐子_Maven - Fatal编程技术网

Maven没有';不要警告损坏的罐子

Maven没有';不要警告损坏的罐子,maven,Maven,我刚刚修复了另一个奇怪的错误。在将SpringCore添加到pom.xml之后,我在使用maven构建项目时遇到了“找不到对象scala”。在谷歌搜索了很长一段时间关于这个错误之后,我很高兴尝试用Eclipse构建这个项目。瞧!它报告spring core jar已损坏 所以,我的问题是:为什么maven没有报告?它不仅可以测试jar文件是否有效,还可以检查哈希和。我相信它应该检查散列和。 我错过什么了吗 顺便说一句,这不是唯一的案例,不幸的是我记不起其他几个案例的细节 更新:看起来checks

我刚刚修复了另一个奇怪的错误。在将SpringCore添加到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
cd“\org\springframework\springcore\3.1.3.RELEASE”
cp spring-core-3.1.3.RELEASE.jar spring-core-3.1.3.RELEASE.jar.old
#手动损坏文件
dd skip=100如果=spring-core-3.1.3.RELEASE.jar.old of=spring-core-3.1.3.RELEASE.jar
cd“”
清洁包装

看看JBoss Tattletale。我相信它有你想要的:

  • 确定JAR文件之间的依赖关系
  • 从类路径中查找缺少的类
  • 如果一个类位于多个JAR文件中,则为Spot
  • 如果同一个JAR文件位于多个位置,则为Spot 包含每个JAR文件需要和提供的内容的列表
  • 验证类的SerialVersionId
  • 查找具有不同版本号的类似JAR文件
  • 查找没有版本号的JAR文件
  • 在JAR文件中查找类
  • 获取项目的OSGi状态
  • 删除黑名单API使用
  • 如前所述,您可以将其集成到maven构建中。

    maven检查哈希和

    运行maven时,可以使用命令行选项。
    如果校验和不匹配,则生成失败:
    -C、 --严格校验和
    如果校验和不匹配,则发出警告:

    -c、 --宽松的校验和

    好工具!但我不能相信maven不能自己完成JAR的基本验证。maven是一个乐高积木。这取决于你用它来构建什么。它是什么意思:“checksumPolicy…但由于某些原因它不起作用。”?您是否观察到它应该失败的情况?@khmarbaise,我添加了测试用例,请参阅更新2。尝试从本地m2 repo中删除spring core jar,然后构建应用程序。checksumPolicy旨在在下载过程中进行检查,但不检查硬盘故障。@khmarbaise,这在我的情况下不好(请参阅我问题中的更新2)它没有:mvn-C干净的包。错误保持不变:[error]错误:scala.tools.nsc.MissingRequirementError:找不到对象scala。