Maven - uruchomienie pluginu modułu, który posiada zależność do innego modułu bez jego instalacji

Odpowiedz Nowy wątek
2019-08-12 09:36
0

Cześć,

Wyobraźmy sobie taki projekt:

  • root
    • moduł A
    • moduł B
    • moduł C
      Moduł A został wydzielony jako kod wspólny dla modułu B i C (powiedzmy, że B to klient, C to serwis, a A to klasy API). Teraz chciałbym uruchomić plugin (manualnie) modułu C i w momencie gdy to robię z jego folderu dostaję informacje, że nie może rozwiązać zależności do modułu A. Problem aktualnie mogę rozwiązać robiąc mvn install na roocie (lub samym module A), lub wołając z poziomu roota:
      mvn --projects moduł-C cośtam:cośtam
      Ale to wymaga tego, żeby ten plugin był w roocie (np w plugin management) no i muszę go skipować w roocie (albo sterować flagą).
      Jak wy podchodzicie do takich sytuacji? Macie jakieś inne rozwiązania?

Pozostało 580 znaków

2019-08-12 12:02
0

Dlaczego na roocie robisz tego instala?


Nie pomagam przez PM. Pytania zadaje się na forum.
Mogę równie dobrze na module A. Nie to jest tu problemem, chciałbym w ogóle go nie robić - pustypawel 2019-08-12 13:32
dobra źle się zrozumiałem xD - scibi92 2019-08-12 14:17

Pozostało 580 znaków

2019-08-12 14:11
1

Maven rozwiązuje zależności przed wejściem w cykl życia. Zatem chcąc uruchomić plugin w C musisz mieć zainstalowane A. Możesz też dodać tag <optional>true</optional> w definicji zależności w pomie C. Jednak jeżeli kod będzie musiał przejść przez fazę compile, by uruchomić twój plugin, to całość wysypie się z powodu błędów kompilacji (nieznane symbole, bo nie ma ich w CLASSPATH).

To wszystko wiem, dlatego pytam czy nie ma jakiegoś "pro tipu" na to :) - pustypawel 2019-08-12 15:12
Nie ma, bo java wymaga wszystkich zależności w CP w momencie kompilacji, a maven tego pilnuje. - Koziołek 2019-08-12 15:16

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0