2017-02-14 6 views
1

У меня есть ситуация в момент, когда у меня есть:Возможно ли построить «подвальный шкаф» проекта Maven?

Проект A, который встроен в жир jar с использованием плагина сборки Maven.

Проект B, который использует проект jar, построенный в проекте A. Он добавляется в проект как ресурс и запускается в отдельном процессе с использованием построителя процессов.

Интересно, можно ли добиться подобного поведения, используя только один проект Maven. I. Создаем jar, содержащий только классы и зависимости, необходимые для проекта A, а затем построим остальную часть проекта с предварительно построенным jar.

Извините, если я не очень четко здесь.

ответ

1

Это против нескольких основных понятий в Maven:

  • Один проект, одна модель (POM). Два проекта (A, B), две модели (POM).
  • В POM есть один artifactId. Что такое второй артефакт (jar), который должен быть назван?
  • Один проект ведет к одному артефакту. Нет дополнительных «prebuilt jar», построенный в том же проекте.
  • Зависимости предназначены для всего проекта (и возможных проектов подмодулей). Я не знаю, как «содержит только классы и зависимости, необходимые для проекта A».
  • Артефакты сохраняются:

    • в <project>/target временно
    • в локальном хранилище Maven (по умолчанию: ~/.m2/repository)
    • , возможно, в удаленном хранилище Maven


    ... а ресурсы берутся с <project>/src/main/resources во время сборки.

Возможно, возникнут некоторые сложные решения (которые, возможно, также являются ловушками) для достижения этого, если вы думаете об этом полностью. Но я никогда не рекомендовал бы такого.

Смежные вопросы