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是日志文件。
答案 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>
...