Uploaded image for project: 'Maven Assembly Plugin'
  1. Maven Assembly Plugin
  2. MASSEMBLY-576

addClasspath broken in new single goal

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Blocker
    • Resolution: Fixed
    • 2.2.1
    • 2.5
    • manifest
    • None
    • Maven 3.0.3
      Ubuntu 11.04
      Sun java 6 (1.6.0_26)

    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.

      Attachments

        Issue Links

          Activity

            People

              krosenvold Kristian Rosenvold
              davija James Davis
              Votes:
              5 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: