gpt4 book ai didi

java - Maven 使用 scp 部署快照抛出 NoSuchElementException

转载 作者:行者123 更新时间:2023-12-02 12:26:10 28 4
gpt4 key购买 nike

我希望能够使用 scp 在 Nexus 存储库上部署 Maven 项目的快照。这是我的 pom.xml 中有趣部分的当前配置:

<distributionManagement>
<snapshotRepository>
<id>gforge.inria.fr-snapshot</id>
<name>inria-snapshots</name>
<url>scp://scm.gforge.inria.fr/home/groups/spoon/htdocs/repositories/snapshots</url>
</snapshotRepository>
<site>
<id>gforge.inria.fr-site</id>
<name>inria</name>
<url>scp://scm.gforge.inria.fr/home/groups/spoon/htdocs/mvnsites/spoon-core</url>
</site>
</distributionManagement>
[...]
<extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh</artifactId>
</extension>
</extensions>
</build>

整个 pom.xml 可用 there .

我们使用一对 key 对我们的存储库进行身份验证,因此我在 ~/.m2/settings.xml 中输入以下内容:

<server>
<id>gforge.inria.fr-snapshot</id>
<username>XXXX</username>
<privateKey>/path/to/the/private/key</privateKey>
</server>

当我启动 mvn clean deploy 时,出现以下错误:

[ERROR] Failed to execute goal org.sonatype.plugins:nexus-staging-maven-plugin:1.6.2:deploy (injected-nexus-deploy) on project spoon-core: Failed to deploy artifacts/metadata: Cannot access scp://scm.gforge.inria.fr/home/groups/spoon/htdocs/repositories/snapshots with type default using the available connector factories: BasicRepositoryConnectorFactory: Cannot access scp://scm.gforge.inria.fr/home/groups/spoon/htdocs/repositories/snapshots using the registered transporter factories: WagonTransporterFactory: java.util.NoSuchElementException
[ERROR] role: org.apache.maven.wagon.Wagon
[ERROR] roleHint: scp

使用调试选项执行会显示以下堆栈跟踪:

java.util.NoSuchElementException
role: org.apache.maven.wagon.Wagon
roleHint: scp
org.codehaus.plexus.component.repository.exception.ComponentLookupException: java.util.NoSuchElementException
role: org.apache.maven.wagon.Wagon
roleHint: scp
at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:267)
at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:255)
at org.eclipse.aether.internal.transport.wagon.PlexusWagonProvider.lookup(PlexusWagonProvider.java:58)
at org.eclipse.aether.transport.wagon.WagonTransporter.lookupWagon(WagonTransporter.java:271)
at org.eclipse.aether.transport.wagon.WagonTransporter.<init>(WagonTransporter.java:115)
at org.eclipse.aether.transport.wagon.WagonTransporterFactory.newInstance(WagonTransporterFactory.java:127)
at org.eclipse.aether.internal.impl.DefaultTransporterProvider.newTransporter(DefaultTransporterProvider.java:110)
at org.eclipse.aether.connector.basic.BasicRepositoryConnector.<init>(BasicRepositoryConnector.java:115)
at org.eclipse.aether.connector.basic.BasicRepositoryConnectorFactory.newInstance(BasicRepositoryConnectorFactory.java:180)
at org.eclipse.aether.internal.impl.DefaultRepositoryConnectorProvider.newRepositoryConnector(DefaultRepositoryConnectorProvider.java:113)
at org.eclipse.aether.internal.impl.DefaultDeployer.deploy(DefaultDeployer.java:265)

仅供引用,我使用的是 Maven 3.3.9 和 Java 8(我使用 openjdk 和 oracle JDK 进行了测试,结果相同)。

我知道我的 pom.xml 设置应该可以工作:它在虚拟机上工作了几个月。遗憾的是我没有设置该虚拟机,而且我们最近在没有任何备份的情况下丢失了它。我没有关于这台机器上的 java 或 maven 版本的任何信息。

该虚拟机通过 jenkins 作业定期执行mvn部署,您可以在那里查看该作业的不同日志:https://ci.inria.fr/sos/job/Spoon-Snapshot-Deployer/ 。在 7 月 28 日之前,它运行良好,显示我的错误的日志是从 8 月 2 日开始的。

最佳答案

在您的 pom 之后,错误来自 wagon-ssh 扩展,由 nexus-staging-maven-plugin 使用。

由于您不知道崩溃的虚拟机可能使用什么版本,因此您是否尝试仅更新与 nexus-staging-maven-plugin 关联的 wagon-ssh 版本?例如,通过使用:

 <plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.6.2</version>
<extensions>true</extensions>
<configuration>
<serverId>ossrh</serverId>
<nexusUrl>https://oss.sonatype.org/</nexusUrl>
<autoReleaseAfterClose>true</autoReleaseAfterClose>
</configuration>
<dependencies>
<dependency>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh</artifactId>
<version>2.12</version>
</dependency>
</dependencies>
</plugin>

关于java - Maven 使用 scp 部署快照抛出 NoSuchElementException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45483711/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com