Я беспокоюсь о цели сборки Maven.У меня есть проект, который имеет ряд зависимостей, каждая из которых может иметь свои собственные переходные зависимости.Если я запускаю mvn dependency: tree, я вижу, что все зависимости, включая переходные, удовлетворены.
Это не тот случай, когда я запускаю цель сборки. Что я хотел бы, это когда я добавляю зависимость для включения, то все ее транзитивные зависимости также включаются.В следующем примере у меня есть три зависимости, которые я хотел бы включить.Поэтому, когда сборка будет сделана, я ожидал, что эти зависимости и любые переходные зависимости также будут для этих зависимостей.
<assembly>
<baseDirectory>${artifactId}/${artifactId}-${version}</baseDirectory>
<formats>
<format>zip</format>
</formats>
<fileSets>
</fileSets>
<dependencySets>
<dependencySet>
<unpack>false</unpack>
<scope>runtime</scope>
<outputDirectory>/lib
</outputDirectory>
<includes>
<include>com.acme.core:library-1</include>
<include>com.acme.core:library-2</include>
<include>com.acme.core:library-2</include>
</includes>
</dependencySet>
</dependencySets>
Но если вы откроете zip-файл, вы обнаружите только те три зависимости, которые означают, что во время выполнения приложение не подходит для этой цели из-за отсутствия библиотек.Я нахожу это совершенно не интуитивным, поскольку это идет вразрез с поведением, которое можно ожидать от POM.
Кто-нибудь сталкивался с этой проблемой и есть ли решение?