Зависимость проекта в Maven - PullRequest
0 голосов
/ 18 сентября 2018

У меня есть два разных проекта maven - скажем, ProjectA и ProjectB, где ProjectA использует ProjectB.

В этих проектах есть отдельные файлы pom.xml.Я хотел бы создать зависимость внутри pom.xml в ProjectA и включить ProjectB.

Однако каждый раз, когда я пытаюсь запустить как clean install, он всегда завершается ошибкой и выдает следующую ошибку.

[WARNING] The POM for database-manager:database-manager:jar:0.0.1-SNAPSHOT is missing, no dependency information available

[ERROR] Failed to execute goal on project cumulus-certificate-generator-attestation: Could not resolve dependencies for project database-manager:database-manager:jar:0.0.1-SNAPSHOT: Could not find artifact cdatabase-manager:cdatabase-manager:jar:0.0.1-SNAPSHOT -> [Help 1]

, где database-manager = ProjectB.

Моя зависимость (внутри ProjectA pom.xml) выглядит следующим образом:

<dependency>
    <groupId>database-manager</groupId>
    <artifactId>database-manager</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <scope>compile</scope>
</dependency>

Я хочу упомянуть, что нашел решение, включив«master» pom.xml, который будет включать эти два проекта, но это не решение, так как у меня есть несколько файлов pom.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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
  <groupId>database-manager</groupId>
  <artifactId>database-manager</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>database-manager</name>

Спасибо!

1 Ответ

0 голосов
/ 18 сентября 2018

Первое: - просто прочитайте сообщение об ошибке более внимательно:

cumulus-database-manager:cumulus-database-manager:jar:0.0.1-SNAPSHOT

Это зависимость, которая пропустила не ваше database-manager:database-manager

Ваш проектB database-manager имеетit.

Когда отсутствует зависимость - это означает, что @Sridhar сказал, что он не находится в папке <your home directory>/.m2/repository и не может быть загружен из каких-либо определенных удаленных репозиториев.

если cumulus-database-manager является действительной зависимостью

Я предполагаю, что вы должны увидеть в начале вывода Maven некоторые сообщения, например downlading artifact ... from ...<url>, а затем cannot be downloaded message.

В этом случае вы получите cumulus-database-manager/cumulus-database-manager direcotry в вашем locam .m2 / repository, но без файла jar.

Попытайтесь удалить каталог cumulus-database-manager из .m2 / repository и запустите снова, чтобы вызватьMaven попытайтесь загрузить его снова и посмотрите на сообщения, почему он не был загружен ...

Кстати, если вам нужно построить одновременно два проекта, когда один зависит от другого - вы должны иметь "master" pomс обоими проектами, определенными в элементе modules.В противном случае вам придется строить один за другим вручную, по крайней мере, в первый раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...