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

运行maven安装命令时出现“无法解析依赖项”错误

田德运
2023-03-14

我在pom.xml中添加了私有nexus存储库网址,以便从内部nexus存储库安装一些依赖项。

但是eclipse仍然在pom.xml文件中显示“丢失工件错误”消息

下面是我运行mvn安装命令时的命令行错误消息

[错误]无法对项目diffapi执行目标:无法解析项目com的依赖项。my:diffapi:jar:0.0.1-SNAPSHOT:无法解析以下工件:com。aaa。bbb。波伊。jar:poi:jar:5.14.4,com。aaa。bbb。波伊。jar:poiskp搜索客户端util:jar:5.14.4,com。aaa。bbb。波伊。jar:poi-util:jar:5.14.4,com。aaa。bbb。frame:ndds日志:jar:1.4.6,com。aaa。bbb。frame:ndds-util:jar:1.4.6,com。aaa。bbb。frame:ndds监控代理:jar:1.5.0,com。aaa。bbb。frame:nddsweb实用程序:jar:1.5.0,com。aaa。bbb。frame:ndds context:jar:1.5.0:找不到com。aaa。bbb。波伊。jar:poi:jar:5.14.4英寸https://repo.maven.apache.org/maven2已缓存在本地存储库中,在经过central的更新间隔或强制更新之前,不会重新尝试解析

似乎maven只访问maven central而不是私有nexus Repositories

这是我的pom.xml

    <?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.6.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.my</groupId>
<artifactId>diffapi</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>diffapi</name>
<description>diff api server for rmi and rest result</description>

<properties>
    <java.version>1.8</java.version>
    <ndds.frame.version>1.5.0</ndds.frame.version>
</properties>

<dependencies>
    <dependency>
        <groupId>com.aaa.bbb.poi.jar</groupId>
        <artifactId>poi</artifactId>
        <version>5.14.4</version>
    </dependency>
    <dependency>
        <groupId>com.aaa.bbb.poi.jar</groupId>
        <artifactId>poi-skp-search-client-util</artifactId>
        <version>5.14.4</version>
    </dependency>
    <dependency>
        <groupId>com.aaa.bbb.poi.jar</groupId>
        <artifactId>poi-util</artifactId>
        <version>5.14.4</version>
    </dependency>
    <dependency>
        <groupId>com.aaa.bbb.frame</groupId>
        <artifactId>ndds-log</artifactId>
        <version>1.4.6</version>
    </dependency>
    <dependency>
        <groupId>com.aaa.bbb.frame</groupId>
        <artifactId>ndds-util</artifactId>
        <version>1.4.6</version>
    </dependency>
    <dependency>
        <groupId>com.aaa.bbb.frame</groupId>
        <artifactId>ndds-monitor-agent</artifactId>
        <version>${ndds.frame.version}</version>
    </dependency>
    <dependency>
        <groupId>com.aaa.bbb.frame</groupId>
        <artifactId>ndds-web-utility</artifactId>
        <version>${ndds.frame.version}</version>
    </dependency>
    <dependency>
        <groupId>com.aaa.bbb.frame</groupId>
        <artifactId>ndds-context</artifactId>
        <version>${ndds.frame.version}</version>
    </dependency>
<distributionManagement>
    <repository>
        <id>AAA-releases</id>
        <name>AAA-releases</name>
        <url>http://IP:PORT/nexus/content/repositories/AAA-releases/</url>
    </repository>
    <snapshotRepository>
        <id>AAA-snapshots</id>
        <name>AAA-snapshots</name>
        <url>http://IP:PORT/nexus/content/repositories/AAA-snapshots</url>
    </snapshotRepository>
</distributionManagement>
</project>

共有1个答案

劳麒
2023-03-14

您似乎混淆了构建后项目将部署在哪里的存储库与用作项目中依赖项来源的存储库。您实际上还没有指定自定义的第三方回购,所以Maven在未能在中央回购中找到工件后放弃了。从Maven留档:

repositories元素在POM中指定了Maven下载远程工件以供当前项目使用的位置和方式,而distributionManagement指定了该项目在部署时到达远程存储库的位置(以及方式)。如果未定义snapshotRepository,则存储库元素将用于快照分发。

因此,尝试添加一个

<project>
    ...
    <distributionManagement>
        <repository>
            <id>AAA-releases</id>
            <name>AAA-releases</name>
            <url>http://IP:PORT/nexus/content/repositories/AAA-releases/</url>
        </repository>
        <snapshotRepository>
            <id>AAA-snapshots</id>
            <name>AAA-snapshots</name>
            <url>http://IP:PORT/nexus/content/repositories/AAA-snapshots</url>
        </snapshotRepository>
    </distributionManagement>
    <repositories>
        <!-- fill in with the actual details of your repo here -->
        <repository>
            <id>REPO ID</id>
            <name>REPO NAME</name>
            <url>YOUR URL GOES HERE</url>
        </repository>
    </repositories>
</project>

 类似资料:
  • 我使用的是Maven 3.1.1。当我运行时,我收到以下错误: 我的< code>pom.xml是:

  • 使用iNtellijidea,我从Subversion下载了12次我的项目。 删除.m2/repository 7-8次。 重新导入,下载了15次的源代码。尝试了所有的可能性,但仍然不能运行我的项目。 下面是我的Maven运行配置文件和项目层次结构 这是我的maven输出

  • 我正在将一个组件打包到jar文件中,并试图将其安装到另一个系统中进行开发。我正在使用maven安装该文件,如下所示(摘自https://maven.apache.org/plugins/maven-install-plugin/examples/custom-pom-installation.html): Maven报告jar已成功安装: 我看到jar和pom文件都放在/home/user/中。m

  • 使用Intellijidea,我从Subversion下载了我的项目12次。 已删除.m2/Repository 7-8次。 重新导入,下载源15次。尝试了所有的可能性,但仍然无法运行我的项目。 update2:我在cmd上运行这个命令,结果是成功的。在我的目录中还看到了。以下是最新的maven输出http://i.hizliresim.com/xbgd07.png

  • 我对Android的Gradle构建有问题。我尝试了很多方法来解决这个问题,但没有什么不起作用。我需要帮助。 Gradle版本:4.4 Gradle插件:3.0.1 错误:无法解析app@serverDebug /compileClasspath的依赖关系:无法解析项目:vksdk_library。 错误:无法解析“”的依存关系:app@mockDebugAndroidTest/compileCl