Ho un artefatto di guerra e ho bisogno di usare alcune delle loro classi da un barattolo. Non riesco a spostare le classi per un altro progetto, quindi schiero le classi e risorse inclusi nella mia webapp come un artefatto "attaccato" utilizzando la seguente configurazione:Errore di dipendenza Maven in Eclipse
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<configuration>
<attachClasses>true</attachClasses>
</configuration>
</plugin>
Questo si tradurrà in due manufatti da distribuire: mywebapp-1.0-SNAPSHOT.war e mywebapp-1.0-SNAPSHOT-classes.jar.
di utilizzare tali classi I riferimento al manufatto come segue:
<dependency>
<groupId>mygroup</groupId>
<artifactId>mywebapp</artifactId>
<version>${project.version}</version>
<classifier>classes</classifier>
</dependency>
Quando ho compilato da Jenkins tutto funziona correttamente, ma quando ho eseguito i test a livello locale da Eclipse non riesce a trovare le classi di riferimento. (java.lang.NoClassDefFoundError)
Penso che potrebbe essere un bug nel plugin eclissi di Maven, qualcuno ha qualche idea che può accadere?
Oltre alla fastidiosa necessità di intervenire manualmente con l'installazione del progetto, ulteriore svantaggio è che le classi e le risorse dai progetti dipendenti si insinua nei risultati di ricerca, quindi invece di aprire l'origine della classe di riferimento si finisce spesso nella visualizzazione di file disordinati o nella versione disassemblata della tua classe hai perfettamente fonti disponibili :( Nota: le classi entrano nei risultati nonostante siano correttamente contrassegnate come risorse "derivate", mi sembra un bug, verificato su Eclipse Mars SR 1. – Espinosa