versioni Maven causa diversa librerie extra da inserire nel file WAR
Domanda
Sto cercando di costruire un file di guerra per essere distribuito a un server Tomcat utilizzando Maven, ma notato comportamenti strani durante la creazione di mio file di guerra:
Quando si esegue il comando dalla cartella di progetto: mvn clean compile package -DskipTests
- Maven versione 3.0 produce un file di guerra 12.079MB (49 file jar in WEB-INF / cartella lib)
- Versione Maven 3.0 beta1 produce un file di guerra 8.7MB (31 barattolo file in WEB-INF / cartella lib)
- Maven versione 2.11 produce un file di 2.3MB di guerra (3 file jar in WEB-INF / cartella lib)
Che cosa può essere la causa i file jar in più per essere inclusi nel progetto? Presumibilmente non sono necessari come la costruzione del progetto utilizzando la versione 2.11 ha lavorato bene in passato.
Soluzione
ho avuto qualcosa di simile accadere a me. Ecco cosa è successo.
In Maven 2.x le versioni del plugin sono stabiliti dal Maven sé. In Maven 3.x si utilizzerà il "ultimo" e vi darà un avvertimento. Nel mio caso, utilizzando una versione successiva del plugin compilatore causato alcune differenze e una versione successiva del plugin di dipendenza causa altre differenze.
Una volta che ho impostato esplicitamente tutte le versioni di tutti i plugin nel mio pom.xml (una best practice in ogni caso), le incongruenze se ne andò.