2015-04-27 90 views
1

当我在Eclipse中为我的XXXXClient(web服务)项目运行Maven Install时,我不断收到以下消息: “ 归档所需库:'X:/XXXX/XXXX/.m2/repository/javax/enterprise/项目'XXXXClient'中的cdi-api/1.0-SP4-redhat-4/cdi-api-1.0-SP4-redhat-4.jar不能被读取或不是有效的ZIP文件XXXXClient构建路径构建路径问题 “ 以下jar文件(在我的项目依赖):Maven存档无法读取或不是有效的Zip文件?

  • 的jboss-EL-api_2.2_spec-1.0.0.Final.jar
  • CDI-AP I-1.0-SP4-红帽-4.jar
  • 的jboss-JSF的api_2.1_spec-2.1.28.Final-红帽-1.jar
  • 的jboss-JSTL-api_1.2_spec-1.0.6.Final-在redhat-1.jar
  • WSDL4J-1.6.3.redhat-1.jar
  • 的jboss-SAAJ-api_1.3_spec-1.0.3.Final-红帽-1.jar
  • 的jboss-JAXWS-api_2。 2_spec-2.0.2.final-redhat-1.jar
  • picketbox-infinispan-4.0.19.SP8-redhat-1.jar
  • jboss-as-controller-client-7.4.0.Final-redhat- 19.jar
  • 的jboss-测井3.1.4.GA-的redhat-1.jar
  • RestEasy的-JAXB提供商 - 2.3.8.Final-的redhat-3.jar
  • 异步HTTP的servlet的3.0-2.3.8 .Final-的redhat-3.jar
  • RestEasy的-JAXRS-2.3.8.Final-的redhat-3.jar
  • RestEasy的多域提供商 - 2.3.8.Final-的redhat-3.jar

大多数这些罐子可以在Maven的Redhat存储库中找到:https://maven.repository.redhat.com/nexus/content/groups/product-techpreview/

在我的Maven settings.xml中,我有dhat-techpreview-all-repository和redhat-techpreview-eap-repository具有活动配置文件。 两个配置文件配置:
<releases>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</releases>
<snapshots>
<enabled>false</enabled>
<updatePolicy>never</updatePolicy>
</snapshots>

我注意到:

  • 上述所有mentionned罐子的尺寸为57K和
  • 运行下面的命令时投掷错误:罐子-tvf [jarfile.jar]。
    我也尝试过:mvn clean install -U(强制重新下载jar),但它没有改变任何东西。

我发现解决我的问题的唯一方法是手动下载每个jar并逐个替换它们。

为什么我首先损坏了jar文件并且 有没有更好的方法来解决这个问题?

由于提前,

+1

听起来像你解决了这个问题,但摆脱了证据(won j的瓶子),所以很难说出了什么问题。 – dcsohl

+0

嗨,实际上我将每个jar扩展名为.jar.old。我会打开新的和新的比较它们。 1+给我的想法。 – Alain

回答

3

我相信“-U”标志将强制下载缺失的JAR,但它可能已损坏的版本将被添加到存储库(如下载期间网络故障), -U标志不会修复。 当我遇到这个问题之前,我已经能够通过删除本地.m2存储库并允许Maven重新下载它们来修复它。

+0

嗨,这就是我认为它可能是一个网络故障。没有办法知道有多少文件可能受到影响?作为最后的手段,我总是可以删除我的本地.m2。谢谢 – Alain

+0

我不知道有任何方法来检查整个存储库中的文件。如果你想了解有多少文件受到影响,你可以尝试一个接一个的删除文件? .m2存储库的目的是作为缓存工作,所以它应该是没有问题的擦除它。 – hugh

+0

为我删除整个.m2存储库。 (如果只删除有问题的软件包,则不起作用) – another

相关问题