Maven Rar Plugin
  1. Maven Rar Plugin
  2. MRAR-9

Avoid to bundle rar dependencies (w/o scope=provided) inside the rar archive

    Details

    • Type: New Feature New Feature
    • Status: Open Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 2.1
    • Fix Version/s: next-release
    • Labels:
      None
    • Environment:
      Maven 2.0.4
    • Number of attachments :
      0

      Description

      If I use "provided" the dependencies will never be included, my problem is
      1. projects:
      my-jar
      rar1: dependency to my-jar
      rar2: dependency to my-jar
      ejb1: dependency to my-jar
      ear: dependency to rar1, rar2. ejb1
      2. inside the ear:
      ejb1.jar
      rar1.rar
      rar2.rar
      lib/my-jar.jar
      3. This works fine for packaging=ejb - the my-jar.jar gets copied to the lib dir during build of
      the ear. But the same jar gets also packaged in the rar1 and in the rar2 archive. So I have it
      three times instead only having the entries in MANFIFEST.MF/Class-Path and the jar only
      once in the lib subdir.
      The Manifest entries are not the problem, to get the jar not packaged in the rars is my
      problem.

      4. my proposal:
      add plugin configuration parameter <includeDependencies>false</includeDependencies>

      in RarMojo.java additional parameter and check:

      /**

      • Specify if the specified dependencies of this project should be
      • included in the rar file ; default is true.
        *
      • @parameter
        */
        private Boolean includeDependencies = Boolean.TRUE;

      ....
      // Copy dependencies
      try
      {
      if (includeDependencies.booleanValue()) { // additional check

      carsten

        Issue Links

          Activity

          Hide
          Stéphane Nicoll added a comment -

          OK, not an easy one so I'll do it for the next release. I don't lile your binary solution, it certainly fit your need but it's not a general solution.

          Show
          Stéphane Nicoll added a comment - OK, not an easy one so I'll do it for the next release. I don't lile your binary solution, it certainly fit your need but it's not a general solution.
          Hide
          Dave Meibusch added a comment -

          Perhaps a solution mirroring the ear plugin functionality: http://maven.apache.org/plugins/maven-ear-plugin/examples/excluding-a-module.html

          Show
          Dave Meibusch added a comment - Perhaps a solution mirroring the ear plugin functionality: http://maven.apache.org/plugins/maven-ear-plugin/examples/excluding-a-module.html
          Hide
          Benjamin added a comment -

          I agree with Carsten, this change is of high priority and i believe a simple flag is the best way to accomplish it. there are almost no scenarios where one would want to include some JAR dependencies inside the RAR and others at the EAR level. even if multiple versions of the same library are needed then simple renaming of different jar dependencies and using the RAR manifest file's classpath entry would allow one to accomplish this.

          Show
          Benjamin added a comment - I agree with Carsten, this change is of high priority and i believe a simple flag is the best way to accomplish it. there are almost no scenarios where one would want to include some JAR dependencies inside the RAR and others at the EAR level. even if multiple versions of the same library are needed then simple renaming of different jar dependencies and using the RAR manifest file's classpath entry would allow one to accomplish this.

            People

            • Assignee:
              Stéphane Nicoll
              Reporter:
              Carsten Karkola
            • Votes:
              5 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated: