当前位置: 首页 > 知识库问答 >
问题:

为什么我的maven项目没有从nexus获取jar

司空鸿禧
2023-03-14

我在Redhat上,使用jenkinsNexus存储库管理器OSS 2.12.0-01

我试图实现的是下载所有的罐子从nexus。什么,我已经完成了。成功安装nexus 2.12.0-01

这是我的mavensetting.xml的内容

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0                                                                                                                   
                      http://maven.apache.org/xsd/settings-1.0.0.xsd">
 

    <mirrors>
        <mirror>
        <!--This sends everything else to /public -->
            <id>nexus</id>
            <mirrorOf>*</mirrorOf>
            <url>http://localhost:8081/nexus/content/groups/public</url>
        </mirror>
    </mirrors>

    <profiles>
        <profile>
            <id>nexus</id>
            <!--Enable snapshots for the built in central repo to direct -->
            <!--all requests to nexus via the mirror -->
            <repositories>
                <repository>
                <id>central</id>
                <url>http://central</url>
                <releases><enabled>true</enabled></releases>
                <snapshots><enabled>true</enabled></snapshots>
                </repository>
            </repositories>

            <pluginRepositories>
                <pluginRepository>
                    <id>central</id>
                    <url>http://central</url>
                    <releases><enabled>true</enabled></releases>
                    <snapshots><enabled>true</enabled></snapshots>
                </pluginRepository>
            </pluginRepositories>
        </profile>
    </profiles>

    <activeProfiles>
    <!--make the profile active all the time -->
        <activeProfile>nexus</activeProfile>
    </activeProfiles>
</settings> 

我父母pom的内容

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.abc</groupId>
  <artifactId>Test</artifactId>
  	<packaging>pom</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <modules>
    <module>Project1</module>
    <module>Project2</module>
 </modules>
 
 <distributionManagement>
    <snapshotRepository>
        <id>my-snapshots</id>
        <url>http://localhost:8081/nexus/content/repositories/snapshots</url>
    </snapshotRepository>

    <repository>
        <id>my-releases</id>
        <url>http://localhost:8081/nexus/content/repositories/releases</url>
    </repository>

</distributionManagement>
</project>

在上面的pom.xml定义了两个项目。当我使用jenkins构建时,第一个项目成功构建。但是第二个抛出错误。

无法对项目2执行目标:无法解析项目com的依赖项。abc:project2:war:0.0.1-快照:找不到com.oracle:ojdbc5:jar:11.2.0.1英寸http://localhost:8081/nexus/content/groups/public已缓存在本地存储库中,在经过nexus的更新间隔或强制更新之前,不会重新尝试解析-

请参见项目2pom。xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.abc</groupId>
  <artifactId>project2</artifactId>
    <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>Maven Webapp</name>
  <url>http://localhost:8081/nexus/content/repositories/releases</url>

 <distributionManagement>
  <repository>
    <id>thirdparty</id>
    <url>http://localhost:8081/nexus/content/repositories/thirdparty</url>
  </repository>
</distributionManagement>

  <dependencies>
        <!-- Spring ORM support -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>3.2.13.RELEASE</version>
        </dependency>

        <!-- Spring Batch -->
        <dependency>
            <groupId>org.springframework.batch</groupId>
            <artifactId>spring-batch-core</artifactId>
            <version>3.0.1.RELEASE</version>
        </dependency>

        <!-- ojdbc 5 dependency provide by nexus-->

        <dependency>
         <groupId>com.oracle</groupId>
         <artifactId>ojdbc5</artifactId>
         <version>11.2.0.1</version>
        </dependency>
    <!-- That is creating problem -->

请不要担心上面的pom。xml我已经从pom中删除了很多依赖项,以减少问题的大小。pom结构正常。

现在问题来了。我错过了任何配置,为什么我得到

无法在项目gsdataprocessor上执行目标:无法解析项目com的依赖项。全球的。批处理:gsdataprocessor:war:0.0.1-SNAPSHOT:找不到com.oracle:ojdbc5:jar:11.2.0.1英寸http://localhost:8081/nexus/content/groups/public已缓存在本地存储库中,在经过nexus的更新间隔或强制更新之前,不会重新尝试解析-

这是一个错误。请帮忙

更新1:根据用户sanigo的建议,我已将第三方存储库添加到公共存储库组中

共有1个答案

田志
2023-03-14

您的http://localhost:8081/nexus/content/groups/public(公共存储库组)是*的镜像,所以您应该将http://localhost:8081/nexus/content/repositories/thirdparty(第三方存储库)添加到公共存储库组,您可以在公共存储库配置选项卡中执行此操作。然后,您可以使用mvn-U清洁安装。

 类似资料:
  • 我在eclipse Juno中创建了maven项目(m2eclipse)。项目依赖于Hive0.10和hadoop 0.23.5。 Maven解决了所有的依赖关系,编译一切正常。现在我想看看javadoc和源代码,所以我点击mave->download javadoc,但没有结果。 M2E-lastupdated.properties文件包含如下所示行: 我甚至没有看到javadoc丢失的错误。

  • Nexus和Maven有什么区别? 只使用Maven的基本场景是什么?一个只考虑Nexus的场景呢?当我想两者都用的时候,它是什么样子的呢?

  • 我在我的项目中使用maven并且我的类没有任何错误,但是当我使用时,它会给我一个不同的错误,如下所示: [错误](使用-source 5或更高版本启用泛型) [错误]ArrayList列表=new ArrayList(); [错误]。...。 我还将maven和版本设置为1.6

  • 我正在尝试使用forge mod loader为Minecraft(1.7.10)制作一个mod,细节并不是特别相关,但基本上当我尝试创建一个定制物品时,我会在一个en_US中注册物品名称。lang文件。这是我的。。。 主类 自定义项目类(Succ) en_US. lang文件 问题在于当我尝试加载单人世界时,该项目显示为项目。通用金戈特。名称,而不是通用名称。如果需要任何附加信息来解决我的愚蠢问

  • 问题内容: 在处理POM之后,Jenkins构建有什么方法可以知道项目的Maven版本号吗? 我有一些项目由Maven控制版本控制,在构建后的工作中,我们想创建一个Debian软件包并调用一些shell脚本。我需要的是Maven以前可以用作Jenkins环境变量的版本号,因此我可以将其传递给构建后操作。 需要明确的是,我 没有 需要知道如何让詹金斯版本号传递到Maven的; 相反,我希望Maven

  • 我在Mac 10.9.5上使用以下版本的Eclipse(实际上是SpringSource Tool Suite): 我试图安装颠覆性的插件,用于我的Maven项目(使用SVN)。我从他们的网站下载了zip文件,然后创建了以下目录: 我将插件解压缩到这个目录中。然后我重新启动了Eclipse实例。然而,在包资源管理器中右键单击我的项目时,我看不到“团队”下的任何签入选项。在命令行上,这些项目确实有“