eclipse maven错误:项目中所需库的归档无法读取或不是有效的ZIP文件

Cod*_*Med 9 java eclipse spring hibernate maven

在使用spring web mvc的eclipse maven项目中,我在Markers选项卡中收到以下错误:

Archive for required library: 'D:/mypath/.m2/repository/javax/transaction/jta/1.0.1B/jta-1.0.1B.jar' in project 'DocumentManager' cannot be read or is not a valid ZIP file
Run Code Online (Sandbox Code Playgroud)

我已经检查过,并且jar文件实际上存在于指示的URL中.我甚至复制了jar的备份来覆盖该位置的jar文件,但这也没有消除错误.我强迫maven更新,但没有解决问题.我也重启了eclipse没效果.

有一次,jta-1.0.1B.jar已经是jta-1.0.1B.jar.LatestUpdate,所以我将名字缩短为jta-1.0.1B.jar

在pom.xml中,错误消息的位置是第2行,其内容如下:

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
Run Code Online (Sandbox Code Playgroud)

当我从这个url手动下载jta-1.0.1B.jar时,pom.xml中的错误消失但被.java类文件中的新错误替换,表明Document类的5个方法无效.

我读了这个这个,但是我没有使用struts,我已经包含了3.3.2.ga的hibernate,而且我在pom.xml中没有一个存储库标签(无论如何甚至没有解决问题),所以我不认为这是重复的.

任何人都可以提出解决此问题的方法吗?如果我需要一个存储库标签,我该把它放在哪里?还有什么可以改变以适应它的添加?

对于任何好奇的人,我的pom.xml包含在内,以供参考,如下所示:

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <description></description>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.5</source>
          <target>1.5</target>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.0.1</version>
      </plugin>
    </plugins>
  </build>
  <dependencies>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>2.5</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-beans</artifactId>
      <version>${org.springframework.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>${org.springframework.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>${org.springframework.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>${org.springframework.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-orm</artifactId>
      <version>${org.springframework.version}</version>
    </dependency>
    <dependency>
      <groupId>taglibs</groupId>
      <artifactId>standard</artifactId>
      <version>1.1.2</version>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <version>1.1.2</version>
    </dependency>
    <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-entitymanager</artifactId>
      <version>3.3.2.GA</version>
    </dependency>
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.10</version>
    </dependency>
    <dependency>
      <groupId>commons-dbcp</groupId>
      <artifactId>commons-dbcp</artifactId>
      <version>20030825.184428</version>
    </dependency>
    <dependency>
      <groupId>commons-pool</groupId>
      <artifactId>commons-pool</artifactId>
      <version>1.5.4</version>
    </dependency>
    <dependency>
      <groupId>commons-fileupload</groupId>
      <artifactId>commons-fileupload</artifactId>
      <version>1.2.1</version>
    </dependency>
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
      <version>1.3</version>
    </dependency>
<!-- dependency to fix JSPServletException -->
    <dependency>
        <groupId>org.apache.tomcat</groupId>
        <artifactId>jsp-api</artifactId>
        <version>6.0.32</version>
        <scope>provided</scope>               
    </dependency>
  </dependencies>
  <properties>
    <org.springframework.version>3.2.4.RELEASE</org.springframework.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  <groupId>DocumentManager</groupId>
  <artifactId>DocumentManager</artifactId>
</project>  
Run Code Online (Sandbox Code Playgroud)

Aar*_*lla 15

要解决这类问题,让Maven再次下载文件:

  1. 删除文件夹 D:/mypath/.m2/repository/javax/transaction/jta
  2. 运行Maven,-U它再次尝试破坏下载.

那应该尝试再次下载文件并清理本地存储库中的任何"残留".

如果Eclipse仍然抱怨JAR文件已损坏:

  1. 刷新项目(F5或从上下文菜单中)
  2. 清理项目
  3. 尝试打开JAR文件.也许这真的很腐败.

如果JAR文件已损坏,请再次删除该文件夹并再次运行Maven.请注意Maven用于下载存档的URL,并与该网站的管理员联系.