В Maven 3.0.x (я пробовал 3.0.2) вы можете отключить maven-jar-plugin
, привязав выполнение default-jar
к несуществующей фазе, как предложено @ bmargulies . К сожалению, это не работает в 2.2.1, но вы можете предотвратить его взаимодействие с вашим собственным jar, установив альтернативу <finalName>
и <classifier>
для выполнения default-jar
; он все равно создаст jar, но он будет установлен как вторичный артефакт для проекта и не будет перезаписывать созданный вами. Вот пример, который должен работать как в Maven 2, так и в Maven 3:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>test</groupId>
<artifactId>test</artifactId>
<version>0.1-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<id>default-jar</id>
<phase>never</phase>
<configuration>
<finalName>unwanted</finalName>
<classifier>unwanted</classifier>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
После того, как вы отключили maven-jar-plugin
, maven-install-plugin
также может доставить вам неприятности. В Maven 3 его можно отключить так же, как maven-jar-plugin
: привязать default-install
к несуществующей фазе. Однако в Maven 2 maven-install-plugin
требуется, чтобы существовал каталог target/classes
, и он установит фиктивную банку, когда отсутствует основной артефакт.