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>