ошибка в pom.xml - PullRequest
       1

ошибка в pom.xml

5 голосов
/ 01 июля 2011

Я получаю сообщение об ошибке, как показано ниже:

Для зависимости Зависимость {Идентификатор_группы = WebLogic, artifactId = веб-сервисы, версия = 9.2, type = jar}: системная зависимость необходимо указать абсолютный путь системы Путь

Не уверен, что не так. У меня настроена переменная окружения, которую я использую в pom.xml

Ответы [ 3 ]

11 голосов
/ 01 июля 2011

При использовании области действия system необходимо указать абсолютный путь к зависимости (в отличие от любых других зависимостей, которые ищутся в репозиториях Maven). См. Системные зависимости в Введение в механизм зависимостей .

Пример:

<dependency>
  <groupId>javax.sql</groupId>
  <artifactId>jdbc-stdext</artifactId>
  <version>2.0</version>
  <scope>system</scope>
  <systemPath>${java.home}/lib/rt.jar</systemPath>
</dependency>

Почему бы вам просто не установить сторонний артефакт в локальном / корпоративном хранилище?

РЕДАКТИРОВАТЬ : Если вы определили systemPath, но подозреваете, что переменная окружения не разрешена, вы получите следующую ошибку (обратите внимание на наличие переменной в пути):

The project ... has 1 error
'dependencies.dependency.systemPath' for weblogic:webservices:jar must specify an absolute path but is ${env.BEA_HOME}/lib/xyz.jar @ line ...

Но если Maven обнаружит переменную и разрешит ее должным образом, приведенное выше сообщение об ошибке будет содержать уже разрешенный каталог (а не заполнитель). Протестировано на Ubuntu / Maven 3.

1 голос
/ 01 июля 2011

Можете ли вы опубликовать свой элемент 'Dependency' из pom?

Предполагая, что он находится в области видимости 'system' и что там есть путь, и этот путь является относительным путем(например, '../../someJar.jar') вместо абсолютного пути (например, /opt/someDir/someJar.jar).

Maven требуется абсолютный путь.

Какпримечание: вы можете захотеть заняться созданием локального общего репозитория для непубличных общих jar-файлов и держаться подальше от области «системы».Объем системы может укусить вас сзади, когда сборка будет выполнена в других средах.

0 голосов
/ 27 апреля 2013

Я столкнулся с подобной проблемой при попытке создать артефакт arquillian-was-embedded-8.Я использую также Win 7 64-bit.Используя Git, я клонировал проект Arquillian Embedded WAS в NetBeans и столкнулся с той же ошибкой.Я изменил переменную среды ОС, когда у меня был открыт NetBeans.Как правило, вам нужно закрыть все окна Windows Explorer и окна командной строки, чтобы переменная Environment вступила в силу.Я рискнул и закрыл NetBeans.После повторного открытия NetBeans проект разрешил переменную $ {env.WAS8_HOME}.Странно ... но что угодно.

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