Maven抛出ArrayIndexOutOfBoundsException

til*_*era 7 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
Run Code Online (Sandbox Code Playgroud)

我的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"
Run Code Online (Sandbox Code Playgroud)

编辑1:

我尝试使用我的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>
Run Code Online (Sandbox Code Playgroud)

强制性升级.

mvn -U package
Run Code Online (Sandbox Code Playgroud)

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

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

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

更新:是日志文件.

And*_*rup 3

从你的堆栈跟踪

...
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
    at com.jcraft.jsch.IdentityFile.<init>(IdentityFile.java:367)
...
Run Code Online (Sandbox Code Playgroud)

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

<server>
  <id>a-repository</id>
  <username>sraddhanjali</username>
  <privateKey>${user.home}/.ssh/id_dsa</privateKey>
  ...
Run Code Online (Sandbox Code Playgroud)