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

Andrew Hughes commented on WELD-1109:
-------------------------------------

Just for reference, you exclude slf4j from the jboss5 classified jar:
https://github.com/weld/core/blob/master/environments/servlet/build/pom.xml#L85

I would recommend the 'default' excludes slf4j, and another 'slf4j' classified 
jar should include it (but I think this is still wrong) and now you have 
backwards compatibility issues to consider....
{quote}
                    <execution>
                        <id>slf4j</id>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <createSourcesJar>true</createSourcesJar>
                            
<shadedArtifactAttached>true</shadedArtifactAttached>
                            
<shadedClassifierName>slf4j-${slf4jVersion}</shadedClassifierName>
                            <artifactSet>
                                <excludes>
                                    <exclude>xml-apis:xml-apis</exclude>
                                    
<exclude>org.apache.tomcat:catalina</exclude>
                                    
<exclude>org.apache.tomcat:servlet-api</exclude>
                                    <exclude>org.apache.tomcat:juli</exclude>
                                    
<exclude>org.apache.tomcat:annotations-api</exclude>
                                    <exclude>javax.faces:jsf-api</exclude>
                                    <exclude>org.mortbay.jetty:jetty</exclude>
                                </excludes>
                            </artifactSet>
                        </configuration>
                    </execution>
                    <execution>
                        <id>default</id>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <createSourcesJar>true</createSourcesJar>
                            <artifactSet>
                                <excludes>
                                    <exclude>xml-apis:xml-apis</exclude>
                                    
<exclude>org.apache.tomcat:catalina</exclude>
                                    
<exclude>org.apache.tomcat:servlet-api</exclude>
                                    <exclude>org.apache.tomcat:juli</exclude>
                                    
<exclude>org.apache.tomcat:annotations-api</exclude>
                                    <exclude>javax.faces:jsf-api</exclude>
                                    <exclude>org.mortbay.jetty:jetty</exclude>
                                    <exclude>org.slf4j:slf4j-api</exclude>
                                    <exclude>org.slf4j:slf4j-jdk14</exclude>
                                </excludes>
                            </artifactSet>
                        </configuration>
                    </execution>
{quote}


                
> weld-servlet.jar should NOT contain slf4j (still found in 2.0.0.Alpha1)
> -----------------------------------------------------------------------
>
>                 Key: WELD-1109
>                 URL: https://issues.jboss.org/browse/WELD-1109
>             Project: Weld
>          Issue Type: Bug
>          Components: Weld SPI
>    Affects Versions: 2.0.0.Alpha1
>         Environment: WELD-845
>            Reporter: Andrew Hughes
>            Priority: Critical
>              Labels: slf4j
>   Original Estimate: 4 hours
>  Remaining Estimate: 4 hours
>
> NOTE: This is intentionally a duplicate of WELD-845 (because I believe you 
> should fix this in BOTH 1.1.7+ and 2.0.0).
> Please fix this in v2.0.0, v1.1.x is something others might care to comment 
> on...
> Inheriting weld-servlet-2.0.0.Alpha1.jar or earlier (as a dependency) should 
> not include the org.slf4j.** classes. Because it precludes the consuming 
> project from (easily) selecting which slf4j binding they want to use. I 
> recognise that it is "convenient" to include these classes because they are 
> quite common in use and maybe also quite necessary for weld. However, it's 
> very likely to raise slf4j binding collisions 
> (http://www.slf4j.org/codes.html#multiple_bindings). Especially with other 
> 3rd party dependencies having their own slf4j dependencies. It's also likely 
> that this will affect future projects more so than current projects (i.e. 
> this problem wont simply 'go away'). What would happen if every jar did 
> this???? What if the JRE did this????
> Please remove these classes from the artifact, and please include them in the 
> maven pom.xml as dependencies (this allows an easy <exclusion> for maven 
> users to fix the slf4j collision).
> Warning (using 1.1.7, but 2.0.0.Alpha contains the same classes):
> {{
> SLF4J: Class path contains multiple SLF4J bindings.
> SLF4J: Found binding in 
> [jar:file:/C:/dev/workspace/workspace3.7/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/acme-project/WEB-INF/lib/slf4j-jdk14-1.6.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
> SLF4J: Found binding in 
> [jar:file:/C:/dev/workspace/workspace3.7/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/acme-project/WEB-INF/lib/weld-servlet-1.1.7.Final.jar!/org/slf4j/impl/StaticLoggerBinder.class]
> SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an 
> explanation.
> }}

--
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

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

Reply via email to