[seam-issues] [JBoss JIRA] (SOLDER-301) Solder does not build from source: Shade plugin complains that seam-parent pom version 16 is missing (but it's in my local repo)

Geoffrey De Smet (Issue Comment Edited) (JIRA) jira-events at lists.jboss.org
Tue Dec 6 09:07:42 EST 2011


    [ https://issues.jboss.org/browse/SOLDER-301?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12648389#comment-12648389 ] 

Geoffrey De Smet edited comment on SOLDER-301 at 12/6/11 9:07 AM:
------------------------------------------------------------------

@Christian Why use shaded jars in the first place?

Afaik, shaded jars bring nothing but trouble:
- If jar B shades jar A and both A and B end up in the same classpath (very likely in big projects that indirectly depend on A and B) and they are different versions (again likely), then the classes of the first jar on the classpath will be used at runtime (which is in practice means you don't know which one). Furthermore, the exceptions raised are unclear (NoSuchMethodError, ClassCastException: cannot cast Dog to Animal (but Dog does extend Animal), ...).
- the Red Hat guys that do RPM repackaging of our projects in http://www.jpackage.org/ absolute hate shaded jars as they can't deal with them
- OSGi doesn't like shaded jars.
- Once JDK 8 Jigsaw is out, we won't be able to shade any more anyway.

So instead of shading to create "dependency reduced pom.xml" and "shade the dependencies in the jar", can't the jar not shade those dependencies and simply depend on them in it's pom?
                
      was (Author: ge0ffrey):
    @Christian Why use shaded jars in the first place?

Afaik, shaded jars bring nothing but trouble:
- If jar B shades jar A and both A and B end up in the same classpath (very likely in big projects that indirectly depend on A and B) and they are different versions (again likely), then the classes of the first jar on the classpath will be used at runtime (which is in practice means you don't know which one). Furthermore, the exceptions raised are unclear (NoSuchMethodError, ClassCastException: cannot cast Dog to Animal (but Dog does extend Animal), ...).
- the Red Hat guys that do RPM repackaging of our projects in http://www.jpackage.org/ absolute hate shaded jars as they can't deal with them
- OSGi doesn't like shaded jars.
- Once JDK 8 Jigsaw is out, you won't be able to shade any more anyway.

So instead of shading to create "dependency reduced pom.xml" and "shade the dependencies in the jar", can't the jar not shade those dependencies and simply depend on them in it's pom?
                  
> Solder does not build from source: Shade plugin complains that seam-parent pom version 16 is missing (but it's in my local repo)
> --------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: SOLDER-301
>                 URL: https://issues.jboss.org/browse/SOLDER-301
>             Project: Solder
>          Issue Type: Bug
>            Reporter: Geoffrey De Smet
>
> I got org.jboss.seam:seam-parent:pom:16 in my local repo.
> The solder parent pom builds (that one uses the seam-parent pom version 16 too), but when I do a "mvn clean install -DskipTests -Djboss-public-repository", it still complains that the seam-parent pom version 16 does not exist:
> {code}
> [INFO] --- maven-shade-plugin:1.4:shade (default) @ solder-logging ---
> [INFO] Including org.jboss.logging:jboss-logging:jar:3.1.0.Beta3 in the shaded jar.
> [INFO] Replacing original artifact with shaded artifact.
> [INFO] Replacing /home/gdesmet/projects/jboss/seam/solder/logging/target/solder-logging.jar with /home/gdesmet/projects/jboss/seam/solder/logging/target/solder-logging-3.1.0-SNAPSHOT-shaded.jar
> Downloading: http://repo1.maven.org/maven2/org/jboss/seam/seam-parent/16/seam-parent-16.pom
> ...
> [ERROR] Failed to execute goal org.apache.maven.plugins:maven-shade-plugin:1.4:shade (default) on project solder-logging: Error creating shaded jar: 1 problem was encountered while building the effective model for org.jboss.solder:solder-logging:3.1.0-SNAPSHOT
> [ERROR] [FATAL] Non-resolvable parent POM for org.jboss.solder:solder-parent:3.1.0-SNAPSHOT: Could not find artifact org.jboss.seam:seam-parent:pom:16 in central (http://repo1.maven.org/maven2) and 'parent.relativePath' points at wrong local POM @ org.jboss.solder:solder-parent:3.1.0-SNAPSHOT, /home/gdesmet/projects/jboss/seam/solder/pom.xml, line 21, column 12
> [ERROR] for project org.jboss.solder:solder-logging:3.1.0-SNAPSHOT at /home/gdesmet/projects/jboss/seam/solder/logging/dependency-reduced-pom.xml for project org.jboss.solder:solder-logging:3.1.0-SNAPSHOT at /home/gdesmet/projects/jboss/seam/solder/logging/dependency-reduced-pom.xml
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the seam-issues mailing list