ho lavorato fuori, e qui ci sono i dettagli:
In primo luogo, non c'è modo di specificare il file include o esclude se si utilizza il descrittore di assemblaggio vaso-con-dipendenze incorporato.
La documentazione del plug-in di assemblaggio fornisce il campione jar-with-dependencies descriptor here.
Ho copiato e incollato quel descrittore in un file nella mia directory di progetto chiamato exec-jar.xml. Quindi, nel pom, ho modificato il plug-in dell'assieme per fare riferimento a quel descrittore. Ecco l'estratto:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2-beta-3</version>
<configuration>
<descriptors>
<descriptor>exec-jar.xml</descriptor>
</descriptors>
<archive>
<manifest>
<mainClass>com.package.MyMainClass</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
Quel po 'di descrittore si lega il gruppo alla fase confezione del ciclo di vita, e fa riferimento al descrittore exec-jar.xml. Facendo quel pacchetto confermò che il barattolo era stato creato esattamente come era con il descrittore predefinito.
Quindi, si tratta di modificare exec-jar.xml per escludere i file CXF che sono in conflitto con i file Spring. Ecco il mio descrittore di assemblaggio che realizza che:
<assembly>
<id>jar-with-dependencies</id>
<formats>
<format>jar</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<dependencySets>
<dependencySet>
<unpack>true</unpack>
<unpackOptions>
<excludes>
<exclude>cxf*/META-INF/spring.handlers</exclude>
<exclude>cxf*/META-INF/spring.schemas</exclude>
</excludes>
</unpackOptions>
<scope>runtime</scope>
</dependencySet>
</dependencySets>
<fileSets>
<fileSet>
<directory>${project.build.outputDirectory}</directory>
</fileSet>
</fileSets>
</assembly>
Ora qui sta il problema. Se lo fai con il plug-in assembly attualmente rilasciato, versione 2.1, fallirà sul tag come "inaspettato". Il tag è supportato nella versione 2.2 non rilasciata del plug-in. Nota nel mio estratto del file pom sopra, ho specificato la versione 2.2-beta-3 di maven-assembly-plugin che era l'ultima al momento della scrittura.
Questo ha creato un jar eseguibile e Spring aveva tutti i gestori e gli schemi necessari per inizializzare la mia app.
La stessa cosa accade con i file "spring.tooling", ma dal loro nome che sto cercando di indovinare che non sono abituati a runtime. –