There is a golden principle of maven, one artifact per module... You seem to be trying to get 4 artifacts out of 1 module... Not on the maven way are you!
On Thursday, 28 February 2013, Jan Engler wrote: > Hi everybody, > > Currently I am trying to build up an assembly for our project. I needed a > filtered output so I came to the shade plugin. > This is what I am doing: > > <plugin> > <groupId>org.apache.maven.plugins</groupId> > <artifactId>maven-shade-plugin</artifactId> > <version>2.0</version> > <executions> > <execution> > <id>api</id> > <phase>package</phase> > <goals> > <goal>shade</goal> > </goals> > <configuration> > <createSourcesJar>true</createSourcesJar> > <shadedClassifierName>api</ > shadedClassifierName> > <shadedArtifactId>myArtifact</ > shadedArtifactId> > > <shadedArtifactAttached>true</ > shadedArtifactAttached> > <archive> > <addMavenDescriptor /> > <compress /> > <forced /> > <index /> > <manifest> > <addClasspath /> > < > addDefaultImplementationEntries>true</addDefaultImplementationEntries> > <addExtensions /> > <classpathLayoutType /> > < > classpathMavenRepositoryLayout /> > <classpathPrefix /> > <customClasspathLayout /> > <mainClass /> > <packageName /> > </manifest> > <manifestEntries> > <!-- <key>value</key> --> > </manifestEntries> > <manifestFile /> > <pomPropertiesFile /> > </archive> > <artifactSet> > <includes> > <include>*:*</include> > </includes> > <excludes> > <exclude>de.my.company: > myDLL</exclude> > </excludes> > </artifactSet> > <filters> > <filter> > <artifact>*:*</artifact> > <includes> > <include> > de/my/company/package1/*</include> > <include> > de/my/company/package2/*</include> > <include> > de/my/company/package3/**</include> > <include> > de/my/company/package4/api/**</include> > </includes> > </filter> > </filters> > </configuration> > </execution> > <execution> > <id>full</id> > <phase>package</phase> > <goals> > <goal>shade</goal> > </goals> > <configuration> > <createSourcesJar>true</createSourcesJar> > <shadedClassifierName>full</ > shadedClassifierName> > <shadedArtifactId>myArtifact</ > shadedArtifactId> > <shadedArtifactAttached>true</ > shadedArtifactAttached> > <archive> > <addMavenDescriptor /> > <compress /> > <forced /> > <index /> > <manifest> > <addClasspath /> > < > addDefaultImplementationEntries>true</addDefaultImplementationEntries> > <addExtensions /> > <classpathLayoutType /> > < > classpathMavenRepositoryLayout /> > <classpathPrefix /> > <customClasspathLayout /> > <mainClass /> > <packageName /> > </manifest> > <manifestEntries> > <!-- <key>value</key> --> > </manifestEntries> > <manifestFile /> > <pomPropertiesFile /> > </archive> > <artifactSet> > <includes> > <include>*:*</include> > </includes> > <excludes> > <exclude> > de.my.company:excludedArtifact</exclude> > </excludes> > </artifactSet> > </configuration> > </execution> > </executions> > </plugin> > > As you might have seen, I want to have 4 artifacts: api.jar, > api-sources.jar, full.jar, full-sources.jar. > As this is my assembly project, I would like to have all modules built, > before distributing. Therefore I inserted the modules. Now I need to have > packaging:pom (and not packaging:jar) in the pom.xml. The artifacts (api, > full + sources) are built correctly, but as pom instead of jar. > <outputFile> does not do the trick, cause I need sources and "normal" jar > separated. > > Can I override the packaging in the shade plugin? Any other hints? > > > Mit freundlichen Gr??en / Best regards > > Jan Engler > Central Research & Development > > SICK AG > Erwin-Sick-Str. 1 > 79183 Waldkirch, Germany > > Phone +49 7681 202-3214 > mailto:jan.eng...@sick.de <javascript:;> > http://www.sick.com > > > > SICK AG - Sitz: Waldkirch i. Br. - Handelsregister: Freiburg i. Br. HRB > 280355 > Vorstand: Dr. Robert Bauer (Vorsitzender) - Reinhard B?sl - Dr. Martin > Kr?mer - Markus Paschmann - Markus Vatter > Aufsichtsrat: Gisela Sick (Ehrenvorsitzende) - Klaus M. Bukenberger > (Vorsitzender) >