Чтобы запретить собирание при условии зависимостей, вы можете использовать решение @Raghuram (+1 за это). Я также попытался пропустить test объемных зависимостей и обнаружил проблему , что это не может быть сделано так просто - как test означает ' все 'в плагине семантическом.
Таким образом, решение для исключения при условии и test scope заключается в том, чтобы включить область действия runtime .
<includeScope>runtime</includeScope>
После сбора зависимостей вы можете скопировать jar проектов с помощью maven-antrun-plugin в целевой каталог, например ::
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.2</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${java.io.tmpdir}/test</outputDirectory>
<includeScope>runtime</includeScope>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<phase>package</phase>
<configuration>
<tasks>
<copy
file="${build.directory}/${project.artifactId}-${project.version}.jar"
todir="${java.io.tmpdir}/test" />
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
Я не знаю другого решения - кроме создания нового pom-dist.xml (возможно, <packaging>pom</packaging>
), который просто хранит зависимость от вашей библиотеки и собирает все переходные зависимости эксклюзивным тестом / предоставленной областью действия , Вы можете выполнить с помощью mvn -f pom-dist.xml package
, если вы не хотите предоставлять новый проект.