Maven抛出ArrayIndexOutOfBoundsException

时间:2015-05-26 11:44:20

标签: java maven

Maven抛出错误,如下所示。我正在尝试从远程到我的存储库。

mvn package

Could not transfer metadata org.symplifier.adk:symplifier-
adk:1.0.3-SNAPSHOT/maven-metadata.xml from/to a-repository 
(sftp://git.a.com.np/home/git/gitlab/public/repo/): Cannot connect. Reason: java.lang.ArrayIndexOutOfBoundsException: 0

[WARNING] Failure to transfer org.symplifier.adk:symplifier-`

adk:1.0.3-SNAPSHOT/maven-metadata.xml from sftp://git.a.com.np/home/git/gitlab/public/repo/ was cached in the local repository, resolution will not be reattempted 

until the update interval of a-repository has elapsed or updates are forced. Original error: Could not transfer metadata org.symplifier.adk:symplifier-adk:1.0.3-SNAPSHOT/maven-metadata.xml from/to a-repository

(sftp://git.a.com.np/home/git/gitlab/public/repo/): Cannot connect. Reason: java.lang.ArrayIndexOutOfBoundsException: 0

我的maven版本是

mvn -version

Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 
2015-04-22T17:42:37+05:45)
Maven home: /usr/local/apache-maven
Java version: 1.8.0_45, vendor: Oracle Corporation
Java home: /usr/lib/jvm/jdk1.8.0_45/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.2.0-4-amd64", arch: "amd64", family: "unix"

Edit1

我尝试使用我的pom.xml

强制maven更新所有存储库
<repositories>
    <repository>
      <id>a-repository</id>
      <url>sftp://git.a.com.np/home/git/gitlab/public/repo/</url>
      <snapshots>
        <enabled>true</enabled>
        <updatePolicy>always</updatePolicy>
      </snapshots>
      <releases>
        <enabled>true</enabled>
        <updatePolicy>always</updatePolicy>
      </releases>
    </repository>
  </repositories>

<dependency>
      <groupId>org.symplifier.adk</groupId>
      <artifactId>symplifier-adk</artifactId>
      <version>1.0.3-SNAPSHOT</version>
    </dependency>

强制更新。

mvn -U package

EDIT2 : 已尝试删除pom.lastUpdated文件。此外,删除存储库并重试。

有一点不同的是我的机器用户名和远程存储库上的用户名不同。但是它应该无关紧要,因为我的公钥在远程仓库中,并且将用于身份验证。

更重要的是,只有一个软件包面临此错误。让我知道出了什么问题。

更新This是日志文件。

1 个答案:

答案 0 :(得分:2)

从堆栈跟踪

...
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
    at com.jcraft.jsch.IdentityFile.<init>(IdentityFile.java:367)
...

我冒昧地猜测您正在使用公钥/私钥设置进行连接,而Maven无法找到所述密钥文件的位置。看看你的settings.xml,看看它是否与你的同事不同,例如

<server>
  <id>a-repository</id>
  <username>sraddhanjali</username>
  <privateKey>${user.home}/.ssh/id_dsa</privateKey>
  ...