Java Maven下载损坏的jar
我有一个依赖于以下工件的项目:Java Maven下载损坏的jar,java,eclipse,maven,Java,Eclipse,Maven,我有一个依赖于以下工件的项目: <dependency> <groupId>com.jaspersoft.jasperserver</groupId> <artifactId>jasperserver-common-ws</artifactId> <version>5.0.1</version> </dependency> <d
<dependency>
<groupId>com.jaspersoft.jasperserver</groupId>
<artifactId>jasperserver-common-ws</artifactId>
<version>5.0.1</version>
</dependency>
<dependency>
<groupId>com.jaspersoft.jaspersoft.api.metadata</groupId>
<artifactId>jasperserver-api-metadata</artifactId>
<version>5.0.1</version>
</dependency>
<dependency>
<groupId>com.jaspersoft.jasperserver</groupId>
<artifactId>jasperserver-ireport-plugin</artifactId>
<version>3.7.0</version>
</dependency>
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>5.0.1</version>
</dependency>
<dependency>
<groupId>jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>5.0.1</version>
</dependency>
com.jaspersoft.jasperserver
jasperserver通用ws
5.0.1
com.jaspersoft.jaspersoft.api.metadata
jasperserverapi元数据
5.0.1
com.jaspersoft.jasperserver
jasperserver ireport插件
3.7.0
net.sf.jasperreports
jasperreports
5.0.1
jasperreports
jasperreports
5.0.1
当我跑的时候
maven安装eclipse
输出一条警告,指定校验和验证失败。当我尝试使用winrar打开已安装的jar时,win-rar表示它们已损坏。我已尝试关闭防病毒软件,但工件仍然无法正确下载。这是网络问题,或者(很可能)原始jar文件已损坏 尝试使用不同的http客户机下载原始jar,就像maven一样(这不是最好的)。它显示了实际JAR的下载URL 如果它能工作,那么一个简单的解决方法是,您只需使用一个工作的http客户机下载这个jar,并将其放置在存储库中
作为一个长期的解决方案,我建议在您的网络环境中进行一些测试,也许可以完全重新生成您的maven存储库。我也遇到了同样的问题,结果证明是因为其中一个存储库返回的是HTML而不是jar文件。当我在记事本++中查看损坏的jar时,这一点变得很明显。在我的案例中,从pom中删除以下回购协议修复了问题:
<repository>
<id>sibboleth</id>
<name>Sibboleth</name>
<url>http://shibboleth.internet2.edu/downloads/maven2/</url>
<layout>default</layout>
</repository>
西伯勒斯
西播列
http://shibboleth.internet2.edu/downloads/maven2/
违约
这是一个用Java编写的小型检测器,只需复制并运行:)
Maven偶尔会下载损坏的文件。在这种情况下,您只能找到该文件,将其删除并让Maven再次下载 这只是解决办法。解决方案是将fail添加到maven设置文件中的存储库配置中:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
https://maven.apache.org/xsd/settings-1.0.0.xsd">
<!--...-->
<profiles>
<profile>
<!--...-->
<repositories>
<repository>
<id>codehausSnapshots</id>
<name>Codehaus Snapshots</name>
<releases>
<enabled>false</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>fail</checksumPolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
<checksumPolicy>fail</checksumPolicy>
</snapshots>
<url>
<!--...-->
</url>
</repository>
</repositories>
<pluginRepositories>
<!--...-->
</pluginRepositories>
<!--...-->
</profile>
</profiles>
<!--...-->
</settings>
代码库快照
科德豪斯快照
假的
总是
失败
真的
从未
失败
只是无法再下载这些JAR,所以我认为问题不在网络环境中,不同的http客户端是什么意思?我使用的是m2e而不是浏览器。如何解决原始jar文件是否损坏的问题。我是否可以更改存储库,是否有人尝试下载这些依赖项来测试它们。我建议先在普通命令行上构建,然后再从缓存中删除失败的jar。是的,我也面临同样的问题。但我如何才能确定我必须删除哪种回购协议,如果我需要从该回购协议中获得依赖性,我必须做些什么???同样的问题在这里,花费了我很多时间。在尝试设置SrpingBootTest模式以运行JPA集成测试时,许多hirbater库和spingjdbcjar都遭到了损坏。Eclipse和maven插件不会抱怨这个问题。当您试图让自动完成工作时,您会发现有一个问题,自动完成机制会引发异常。或者,当您尝试钻取某个类时,会出现eclipse编辑器错误。您将转到maven文件夹,看到文件已完全损坏。我希望maven删除JAR&ReportError,如果您的校验和验证已经警告您应该检查JAR的来源,如果有疑问,请简单地删除它并重新下载它…您是使用https下载的吗?使用存储库管理器?是否检查了校验和?如果校验和错误,我建议构建失败!最简单、最干净的解决方案。首先清理整个本地缓存并在settings.xml中配置校验和,然后重新生成@khmarbaise这是一篇很棒的文章:)的公司有60个带有嵌套模块的repositorier。。。所以大约有100个pom.xml。他们也不愿意这样做,因为。。。那是他们的想法。但对于我自己的项目,我将尝试它谢谢
:)
Repository to process: C:\Users\goxr3plus\.m2
Number of jars to process: 4920
C:\Users\goxr3plus\.m2\repository\bouncycastle\isoparser-1.1.18.jar threw exception: java.util.zip.ZipException: zip END header not found
Total bad jars = 1
BUILD SUCCESSFUL (total time: 2 seconds)
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
https://maven.apache.org/xsd/settings-1.0.0.xsd">
<!--...-->
<profiles>
<profile>
<!--...-->
<repositories>
<repository>
<id>codehausSnapshots</id>
<name>Codehaus Snapshots</name>
<releases>
<enabled>false</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>fail</checksumPolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
<checksumPolicy>fail</checksumPolicy>
</snapshots>
<url>
<!--...-->
</url>
</repository>
</repositories>
<pluginRepositories>
<!--...-->
</pluginRepositories>
<!--...-->
</profile>
</profiles>
<!--...-->
</settings>