Я получил ошибку «Не удалось разрешить зависимости» при запуске команды установки maven - PullRequest
0 голосов
/ 11 июля 2019

Я добавил URL-адреса закрытого хранилища Nexus в pom.xml, чтобы установить некоторые зависимости от внутреннего хранилища Nexus.

Но eclipse по-прежнему показывает сообщения «Ошибка отсутствующего артефакта» в файле pom.xml

здесьсообщения об ошибках командной строки при запуске команды установки mvn

[ОШИБКА] Не удалось выполнить цель для проекта diffapi: не удалось разрешить зависимости для проекта com.my:diffapi:jar:0.0.1-SNAPSHOT: Не удалось разрешить следующие артефакты: com.aaa.bbb.poi.jar: poi: jar: 5.14.4, com.aaa.bbb.poi.jar: poi-skp-search-client-util: jar: 5.14.4, com.aaa.bbb.poi.jar: poi-util: jar: 5.14.4, com.aaa.bbb.frame: ndds-log: jar: 1.4.6, com.aaa.bbb.frame: ndds-util: jar: 1.4.6, com.aaa.bbb.frame: ndds-monitor-agent: jar: 1.5.0, com.aaa.bbb.frame: ndds-web-utility: jar: 1.5.0, com.aaa.bbb.frame: ndds-context: jar: 1.5.0: Не удалось найти com.aaa.bbb.poi.jar: poi: jar: 5.14.4 в https://repo.maven.apache.org/maven2 было кэшировано в локальном хранилище.разрешение не будет предпринято повторно, пока интервал обновления центрального чпо прошествии времени или принудительные обновления

кажется, что Maven только доступ к Maven Central вместо частных хранилищ Nexus

И это мой 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 Ответ

0 голосов
/ 11 июля 2019

Вы, похоже, путаете репозитории, в которых ваш проект будет развернут после сборки с репозиториями, которые используются в качестве источников для зависимостей в вашем проекте.На самом деле вы не указали пользовательское репо стороннего производителя, поэтому Maven сдается после неудачной попытки найти артефакты в центральном репо.Из документации Maven :

Принимая во внимание, что элемент репозитория указывает в POM местоположение и способ, которым Maven может загружать удаленные артефакты для использования в текущем проекте, менеджмент распределения указывает где (и как) этот проект попадет в удаленное хранилище при его развертывании.Элементы репозитория будут использоваться для распространения снимка, если не определен snapshotRepository.

Итак, попробуйте добавить элемент <repositories>, который содержит дополнительные репозитории, которые вы хотите использовать для пользовательских JAR-файлов в вашей сборке.:

<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>
...