Подтвердить что ты не робот

Maven - добавить зависимость от источника артефакта

У меня есть два модуля maven: один, который заканчивается банкой, и одна война, которая зависит от этой банки.

Я хочу, чтобы модуль jar отправил исходный код вместе с скомпилированными классами в банке, чтобы второй модуль смог получить к нему доступ. Я попытался использовать maven-source-plugin, но я смущен тем, как добавить зависимость от вывода этого. Кажется, что зависимость по умолчанию относится к скомпилированному банку, а не к банку исходного кода (заканчивающийся "-source.jar" ), который создает maven-source-plugin.

Как добавить "-source.jar" в качестве зависимости, сохраняя при этом зависимость от скомпилированных источников?

4b9b3361

Ответ 1

Я не пробовал это, но думаю, вам нужно создать два профиля в вашем проекте. Один, который строит основную банку. Другой, который строит источники банки. К сожалению, я не совсем уверен, как вы создадите этот профиль. Я пока не смог найти хороший пример.

(Соглашаясь с комментариями, на самом деле вам не нужен профиль. Вы можете просто использовать плагин источников, который будет разворачивать источники и делать их доступными через классификатор источников)

В теории вы использовали бы второй профиль для присоединения источников к проекту. Это создает вторую запись в вашем репозитории для источников, использующих этот классификатор. После того, как вы устанавливаете/развертываете источники в своем репозитории, вы должны иметь возможность включать источники в качестве зависимости, используя тег классификатора в зависимости, чтобы напрямую указывать источники.

Итак, у вас есть что-то подобное в вашем webapp POM:

<dependencies>
  <dependency>
    <groupId>myGroup</groupId>
    <artifactId>myJar</artifactId>
    <version>4.0</version>
    <type>jar</type>
  </dependency>
  <dependency>
    <groupId>myGroup</groupId>
    <artifactId>myJar</artifactId>
    <version>4.0</version>
    <type>jar</type>
    <classifier>sources</classifier>
  </dependency>
</dependencies>

Ответ 2

Вы пытались добавить каталог src в качестве каталога ресурсов в разделе сборки? Это должно скопировать источник в банку при сборке.