gpt4 book ai didi

maven - 如何强制 Sonatype Nexus 更新?

转载 作者:行者123 更新时间:2023-12-02 02:01:06 25 4
gpt4 key购买 nike

我正在尝试在我的 pom.xml 中使用 onejar-maven-plugin:

<plugin>
<groupId>org.dstovall</groupId>
<artifactId>onejar-maven-plugin</artifactId>
<version>1.4.4</version>
<executions>
<execution>
<configuration>
<mainClass>com.exmaple.myproj.MpPort_MpSoapPort_Client</mainClass>
<onejarVersion>0.97</onejarVersion>
<attachToBuild>true</attachToBuild>
<classifier>onejar</classifier>
</configuration>
<goals>
<goal>one-jar</goal>
</goals>
</execution>
</executions>
</plugin>

<pluginRepositories>
<pluginRepository>
<id>onejar-maven-plugin.googlecode.com</id>
<url>http://onejar-maven-plugin.googlecode.com/svn/mavenrepo</url>
</pluginRepository>
</pluginRepositories>

但由于某种原因,尝试通过 Eclipse Maven 插件(Maven 安装)构建它会导致构建错误:

Downloading: https://mynexus.example.com/nexus/content/repositories/central/org/dstovall/onejar-maven-plugin/1.4.4/onejar-maven-plugin-1.4.4.pom
[INFO] Unable to find resource 'org.dstovall:onejar-maven-plugin:pom:1.4.4' in repository onejar-maven-plugin.googlecode.com (http://onejar-maven-plugin.googlecode.com/svn/mavenrepo)
Downloading: https://mynexus.example.com/nexus/content/repositories/central/org/dstovall/onejar-maven-plugin/1.4.4/onejar-maven-plugin-1.4.4.pom
[INFO] Unable to find resource 'org.dstovall:onejar-maven-plugin:pom:1.4.4' in repository central (http://repo1.maven.org/maven2)
Downloading: https://mynexus.example.com/nexus/content/repositories/central/org/dstovall/onejar-maven-plugin/1.4.4/onejar-maven-plugin-1.4.4.pom
[INFO] Unable to find resource 'org.dstovall:onejar-maven-plugin:pom:1.4.4' in repository central (http://repo1.maven.org/maven2)
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Error building POM (may not be this project's POM).


Project ID: org.dstovall:onejar-maven-plugin

Reason: POM 'org.dstovall:onejar-maven-plugin' not found in repository: Unable to download the artifact from any repository

org.dstovall:onejar-maven-plugin:pom:1.4.4

from the specified remote repositories:
Nexus (https://mynexus.example.com/nexus/content/repositories/central)

for project org.dstovall:onejar-maven-plugin

所以我手动下载了onejar-maven-plugin.jar并通过命令行安装它,我似乎遇到了类似的错误:

C:\Users\daniel\myproj>mvn install:install-file -Dfile=onejar-maven-plugin-1.4.4.jar -DgroupId=com.jolira -DartifactId=onejar-maven-plugin -Dversion=1.4.4 -Dpackaging=jar
[INFO] Scanning for projects...
Downloading: https://mynexus.example.com/nexus/content/repositories/central/org/dstovall/onejar-maven-plugin/1.4.4/onejar-maven-plugin-1.4.4.pom
[INFO] Unable to find resource 'org.dstovall:onejar-maven-plugin:pom:1.4.4' in repository onejar-maven-plugin.googlecode.com (http://onejar-maven-plugin.googlecode.com/svn/mavenrepo)
Downloading: https://mynexus.example.com/nexus/content/repositories/central/org/dstovall/onejar-maven-plugin/1.4.4/onejar-maven-plugin-1.4.4.pom
[INFO] Unable to find resource 'org.dstovall:onejar-maven-plugin:pom:1.4.4' in repository central (http://repo1.maven.org/maven2)
Downloading: https://mynexus.example.com/nexus/content/repositories/central/org/dstovall/onejar-maven-plugin/1.4.4/onejar-maven-plugin-1.4.4.pom
[INFO] Unable to find resource 'org.dstovall:onejar-maven-plugin:pom:1.4.4' in repository central (http://repo1.maven.org/maven2)
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Error building POM (may not be this project's POM).


Project ID: org.dstovall:onejar-maven-plugin

Reason: POM 'org.dstovall:onejar-maven-plugin' not found in repository: Unable to download the artifact from any repository

org.dstovall:onejar-maven-plugin:pom:1.4.4

from the specified remote repositories:
Nexus (https://mynexus.example.com/nexus/content/repositories/central)

for project org.dstovall:onejar-maven-plugin

我的理解是,因为我们有一个 Nexus 镜像,但它不包含那个特定的 Artifact ,所以事情会变得困惑。

所以我尝试按照 How to force Sonatype Nexus Regenerate / Reindex its Metadata 上的说明进行操作但是“浏览索引”选项卡没有这样的上下文菜单!在我们的 Sonatype Nexus 上。

enter image description here

我读到here “Nexus 仅缓存客户端请求的 Artifact 。因此您需要设置项目 pom 来请求正确的版本”。但是这正是我一直在做的事情——结果没有任何改变。

我如何摆脱这种“先有鸡还是先有蛋”的情况并获得这个 onejar-maven-plugin 版本。 1.4.4 进入我的 Nexus 镜像?

(或者,如何将其放入本地 .m2 缓存?)

最佳答案

即使本地存储库包含有关 -U 不可用的 Artifact 的元数据,您也可以强制 Maven 再次更新和请求依赖项

mvn clean install -U 

应该可以工作。

此外,您还应该更改 settings.xml 以指向公共(public)组,而不仅仅是直接指向中央存储库。更多内容可查看in the Nexus book

您应该注意,中央存储库没有您尝试使用的 onejar 插件。查看search results并查看 groupId 为何是 com.joilira 而不是 org.dstovall

此外,如果您确实想使用 org.dstovall 中的 onejar 插件,您应该添加 url http://onejar-maven-plugin.googlecode.com/svn/mavenrepo/作为 Nexus 的代理存储库,将其添加到公共(public)组,然后在 settings.xml 中使用公共(public)组

关于maven - 如何强制 Sonatype Nexus 更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20252244/

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