В многоуровневом проекте maven, как упаковать один дочерний проект? - PullRequest
3 голосов
/ 30 мая 2011

Я работаю над многомодовым проектом Maven. Некоторое время назад проект был разделен на подпроекты:

  • «Общий» проект JAR
  • «Пользовательский» WAR-проект, в зависимости от Common
  • и т.д.

Это тот же проект, который описан здесь в этом вопросе .

Когда я вызываю mvn package на уровне суперпроекта, команда завершается успешно, и в результате может быть развернута война. Но если я попытаюсь вызвать mvn package на уровне подпроекта, команда не выполнится.

[ERROR] Failed to execute goal on project User: Could not resolve 
dependencies for project xxx.xxx:User:war:0.0.1-SNAPSHOT: Failed 
to collect dependencies for [xxx.xxx:Common:jar:0.0.1-SNAPSHOT (compile), ...

Очевидно, maven пытается загрузить мой собственный проект (Common) из удаленного репозитория ...

Downloading: http://repository.jboss.org/maven2/xxx/xxx/Common/0.0.1-SNAPSHOT/maven-metadata.xml
Downloading: http://download.java.net/maven/glassfish/xxx/xxx/Common/0.0.1-SNAPSHOT/maven-metadata.xml
[WARNING] Could not transfer metadata xxx.xxx:Common:0.0.1-SNAPSHOT/maven-metadata.xml from/to jboss (http:/
/repository.jboss.org/maven2): Access denied to: http://repository.jboss.org/maven2/xxx/xxx/common/0.0.1-SNA
PSHOT/maven-metadata.xml

Что может быть не так в моей конфигурации?

Ответы [ 3 ]

2 голосов
/ 30 мая 2011

Когда вы запускаете mvn package из superproject, он создает артефакты в соответствующей папке target, но не устанавливает их в локальном хранилище.

Итак, когда вы запускаете mvn package на subproject, который имеет dependency на братском module, он ищет dependency в вашем локальном хранилище, не находит его и, таким образом, пытается загрузите его из различных настроенных репозиториев.

Как только вы успешно запустите mvn install из superproject, mvn package в подпроекте должно работать.

0 голосов
/ 10 декабря 2013

Я потратил много времени, чтобы выяснить этот тип 'ОШИБКИ', благодаря Рагурам , я был глуп, когда пытался найти решение, но на самом деле ошибки не было, просто потому, что я сделал Установка mvn в подмодуле, которая зависит от зависимостей других модулей. Она должна работать нормально, когда я запускаю mvn install / package в родительской области.

0 голосов
/ 30 мая 2011

У вас есть (JBoss) запись репозитория либо в вашем pom.xml, либо settings.xml. Для доступа к этому хранилищу необходимо пройти аутентификацию. Если вы называете путь через браузер, вы также получаете «403 Запрещено». Вы должны добавить публичный репозиторий Jboss. (http://repository.jboss.org/)

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