Только что попал в Maven, и у меня возникла ситуация, когда у меня проблема с циклической зависимостью
моя первоначальная структура была
|-mainProject
|-webProject
, где mainProject имеет webProject в качестве зависимости (упаковка пакетов).
Ошибка, так как webProject также зависит от mainProject, поэтому я изменил структуру
|-coreProject
|-mainProject
|-webProject
так, чтобы ядро было упаковано в jar-файл, а ядро main и web было зависимым.
Теперь я вижу другую ошибку при создании -shade.jar.
Компоненты CoreProject должны использоваться как основными, так и веб-проектами.
Какова будет лучшая практика в этом случае?
мой график зависимостей выглядит как
mainProject(jar) -> webProject(war) --
|-> coreProject(jar) <-|
|-> jetty jars
Я использую встроенный джет в mainProject, так что мой конечный результат будет один файл JAR из mainProject, который включает в себя web & coreProjects.
[ОШИБКА] Не удалось выполнить цель org.apache.maven.plugins: maven-shade-plugin: 1.4: shade (по умолчанию) в проекте mainProject: Ошибка при создании затененной банки: Неверный дайджест файла подписи для основных атрибутов Manifest -> [Помощь 1]
Я пробовал фильтры, такие как
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
но все равно получаю ту же ошибку