Добавьте системную maven-зависимость с URL-адресом вместо файла - PullRequest
2 голосов
/ 12 декабря 2011

Мне нужно зависеть от банки, которой нет в репозитории Maven. У меня сейчас просто системная зависимость, подобная этой:

<dependency>
    <groupId>com.nexua</groupId>
    <artifactId>register</artifactId>
    <version>1.5</version>
    <scope>system</scope>
    <systemPath>${basedir}/lib/register.jar</systemPath>
</dependency>

есть ли какой-нибудь способ, которым я могу иметь ссылку на файл вместо URL-адреса, а не на локальный файл, чтобы он оставался в актуальном состоянии? В таком виде мне придется заменить файл вручную, когда я хочу его обновить.

1 Ответ

1 голос
/ 12 декабря 2011

Лучше всего использовать внутренний (локальный) репозиторий.Более подробно это описано в «Введение в репозитории» .По сути, вы просто копируете свой артефакт в соответствующий каталог с правильным именем файла (в соответствии с соглашениями Maven) под этим внутренним хранилищем, и Maven подхватит его без необходимости использования <systemPath>.

замените файл вручную, когда он будет обновлен.(На самом деле, чтобы сделать это правильно, вам потребуется включить новую версию с отдельным суффиксом версии во внутренний репозиторий и обновить <version/> в вашем pom.xml.) Единственный лучший способ обойти это - это иметькто-то еще управляет зависимостью - либо в центральном репозитории Maven, либо в другом месте репозитория, на которое вы ссылаетесь из своего pom.xml.(На самом деле, вы можете настроить свою собственную - либо для себя, либо для своей рабочей группы, что я бы порекомендовал.)

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