Witam
Mam problem do rozwiązania:
chcĘ skutecznie pozbyć się artefaktu w pliku wynikowym, który
powstaje w na skutek polecenia mvn package ( projekt typu JavaEE EAR).
W grę nie wchodzi dodawanie <scope>provided</scope> - ponieważ to co
chce wyrzucić jest zależnością przechodnią oraz <optional>false</
optional> - bo jest to nieskuteczne - wystarczy że dodam do projektu
inny artefakt który zechce podłączyć tą zależność, musiałbym
kontrolować każdy nowopodłączony artefakt . Po kilku minutach
googlowania mam wrażenie że można to zrobić za pomocą pluginu maven-
assembly-plugin oraz pliku
"assembly descriptor", nie udało mi się znaleźć sensownego przykładu,
który by rozwiązywał mój problem.
0
0
http://maven.apache.org/plugins/maven-dependency-plugin/copy-dependencies-mojo.html wszystko co zaczyna się od "exclude"
0
Dodałem do projektu ear :
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<excludeArtifactIds>commons-logging</excludeArtifactIds>
</configuration>
</execution>
</executions>
</plugin>
Niestety w katalogu ear/lib nadal występuje zależność, ale teraz w target powstał katalog
dependencies w którym ta zależność nie występuje, jak by to samo zrobić ze skutkiem dla katalogu ear/lib ?
0
Jeżeli jest to zależność pośrednia można jeszcze spróbować tego: http://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html