[ 
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:06 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). 
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?
                
      was (Author: ge0ffrey):
    @Christian Why use shades 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). 
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

        
_______________________________________________
seam-issues mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/seam-issues

Reply via email to