Details
-
Type:
Bug
-
Status:
Open
-
Priority:
Blocker
-
Resolution: Unresolved
-
Affects Version/s: 2.2.1
-
Fix Version/s: None
-
Component/s: manifest
-
Labels:None
-
Environment:Maven 3.0.3
Ubuntu 11.04
Sun java 6 (1.6.0_26)
-
Number of attachments :
Description
According to the documentation, using <addClasspath>true</addClasspath> in archive/manifest, should place the generated classpath in to the manifest. This works with assembly:assembly (now deprecated), but is broken in assembly:single
Here is my plugin definition section:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <configuration> <descriptors> <descriptor>src/main/assembly/assembly.xml</descriptor> </descriptors> <archive> <manifest> <mainClass>com.example.Main</mainClass> <addClasspath>true</addClasspath> <classpathPrefix>lib/</classpathPrefix> </manifest> </archive> </configuration> <executions> <execution> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin>
and the custom assembly file:
<assembly> <id>full</id> <formats> <format>jar</format> </formats> <includeBaseDirectory>false</includeBaseDirectory> <dependencySets> <dependencySet> <unpack>false</unpack> <scope>runtime</scope> <useProjectArtifact>true</useProjectArtifact> <outputDirectory>lib/</outputDirectory> </dependencySet> </dependencySets> <fileSets> <fileSet> <directory>${project.build.outputDirectory}</directory> <outputDirectory>/</outputDirectory> </fileSet> </fileSets> </assembly>
I'm not sure if this is just because the documentation does not correctly address how to do this or if it is actually just broken. I did check the docs and this is how the docs claim you should be able to do this.