Maven Assembly Plugin
  1. Maven Assembly Plugin
  2. MASSEMBLY-162

In a multiproject environment, assembly takes wrong dependencies

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: 2.1
    • Fix Version/s: 2.2-beta-2
    • Component/s: None
    • Labels:
      None

      Description

      With a projectstructure like 'Project/

      {ejb,war,ear,client}

      ' packaging the client as a fat jar-with-dependencies, it works fine using the following configuration.
      === etc/fatjar.xml ====
      <id>fat</id>
      <formats><format>jar</format></formats>
      <includeBaseDirectory>false</includeBaseDirectory>
      <fileSets><fileSet>
      <directory>target/classes</directory>
      <outputDirectory>/</outputDirectory>
      </fileSet></fileSets>
      <dependencySets>
      <dependencySet>
      <outputDirectory>/</outputDirectory>
      <unpack>true</unpack>
      <scope>runtime</scope>
      </dependencySet>
      </dependencySets>
      </assembly>
      === pom.xml ===
      <?xml version="1.0"?><project>
      <version>0.3-SNAPSHOT</version>
      <modelVersion>4.0.0</modelVersion>
      <groupId>mygroup</groupId>
      <artifactId>myapp-client</artifactId>
      <name>My Application</name>
      <dependencies>
      <!-- stripped -->
      </dependencies>
      <build>
      <plugins>
      <plugin>
      <artifactId>maven-assembly-plugin</artifactId>
      <version>2.1</version>
      <configuration>
      <descriptors><descriptor>etc/fatjar.xml</descriptor></descriptors>
      <archive>
      <manifest><mainClass>path.to.MainClass</mainClass><manifest>
      </archive>
      </configuration>
      <executions><execution>
      <phase>package</phase>
      <goals><goal>assembly</goal></goals>
      </execution></executions>
      </plugin>
      </plugins>
      </build>
      </project>

      But when I'm on the level above (packaging all) it just assembles all underlying dependencies into my clientjar, and not the dependencies of the childproject.

        Issue Links

          Activity

          M. van Leeuwen created issue -
          Hide
          Brian E. Fox added a comment -

          Have you tried 2.2-SNAPSHOT? I had a similar issue with assembly:attached and it seems fixed in 2.2.

          Show
          Brian E. Fox added a comment - Have you tried 2.2-SNAPSHOT? I had a similar issue with assembly:attached and it seems fixed in 2.2.
          John Casey made changes -
          Field Original Value New Value
          Fix Version/s 2.2 [ 12617 ]
          Hide
          Harro Lissenberg added a comment -

          Having the same problem as the original poster I tried 2.2-SNAPSHOT but it only makes thing worse. Now creating a fat client with <unpack>true</unpack> in the assembly descriptor creates a .jar with all external dependencies unpacked in a seperate directory.
          e.g:

          myfatjar.jar
          --log4j-1.2.13
          --spring-2.0.2
          ...

          each directory then contains the unpacked jar it references to.

          Show
          Harro Lissenberg added a comment - Having the same problem as the original poster I tried 2.2-SNAPSHOT but it only makes thing worse. Now creating a fat client with <unpack>true</unpack> in the assembly descriptor creates a .jar with all external dependencies unpacked in a seperate directory. e.g: myfatjar.jar --log4j-1.2.13 --spring-2.0.2 ... each directory then contains the unpacked jar it references to.
          Hide
          Harro Lissenberg added a comment -

          I just noticed that the problem I have is already reported in MASSEMBLY-179

          Show
          Harro Lissenberg added a comment - I just noticed that the problem I have is already reported in MASSEMBLY-179
          Hide
          Richard van der Hoff added a comment -

          Sounds like the original issue has been resolved, but replaced with MASSEMBLY-179.

          could it be marked as such?

          Show
          Richard van der Hoff added a comment - Sounds like the original issue has been resolved, but replaced with MASSEMBLY-179 . could it be marked as such?
          M. van Leeuwen made changes -
          Link This issue is superceded by MASSEMBLY-179 [ MASSEMBLY-179 ]
          Hide
          M. van Leeuwen added a comment -

          Since MASSEMBLY-179 now poses the problem, this one can be closed.
          I've switched to the codehaus minijar plugin, which supports ueberjars.

          Show
          M. van Leeuwen added a comment - Since MASSEMBLY-179 now poses the problem, this one can be closed. I've switched to the codehaus minijar plugin, which supports ueberjars.
          John Casey made changes -
          Fix Version/s 2.2 [ 12617 ]
          Fix Version/s 2.2-beta-2 [ 13507 ]
          Hide
          John Casey added a comment -

          It looks like this issue has been sorted out by fixing other related issues. In 2.2-beta-1, you can eliminate the use of artifact directories using the literal: <outputFileNameMapping /> (empty element).

          In 2.2-beta-2-SNAPSHOT, I've changed it to be more like the 2.1 version, where outputFileNameMapping isn't considered when unpack == true.

          Show
          John Casey added a comment - It looks like this issue has been sorted out by fixing other related issues. In 2.2-beta-1, you can eliminate the use of artifact directories using the literal: <outputFileNameMapping /> (empty element). In 2.2-beta-2-SNAPSHOT, I've changed it to be more like the 2.1 version, where outputFileNameMapping isn't considered when unpack == true.
          John Casey made changes -
          Assignee John Casey [ jdcasey ]
          Status Open [ 1 ] Closed [ 6 ]
          Resolution Fixed [ 1 ]
          John Casey made changes -
          Fix Version/s 2.2-beta-2 [ 14027 ]
          Fix Version/s 2.2-beta-3 [ 13507 ]
          Mark Thomas made changes -
          Project Import Sun Apr 05 09:09:00 UTC 2015 [ 1428224940639 ]
          Mark Thomas made changes -
          Workflow jira [ 12717115 ] Default workflow, editable Closed status [ 12760928 ]
          Mark Thomas made changes -
          Project Import Sun Apr 05 22:33:31 UTC 2015 [ 1428273211083 ]
          Mark Thomas made changes -
          Workflow jira [ 12955036 ] Default workflow, editable Closed status [ 12992256 ]
          Transition Time In Source Status Execution Times Last Executer Last Execution Date
          Open Open Closed Closed
          264d 22h 52m 1 John Casey 15/Aug/07 08:50

            People

            • Assignee:
              John Casey
              Reporter:
              M. van Leeuwen
            • Votes:
              1 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development