[ 
https://issues.apache.org/jira/browse/SOLR-5950?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13958812#comment-13958812
 ] 

Steve Rowe commented on SOLR-5950:
----------------------------------

bq. He was just talking about 5x  Got pulled out of context a bit.

I thought maybe that's what he meant, but I wanted to make a definitive 
statement to make sure there are no misunderstandings.

bq. When building the WAR file in 4.x we should exclude it somehow via Maven 
Magic(tm).

The war deployed to Maven Central is built using Ant, and the Ant build already 
excludes all the SLF4J jars - the patch doesn't change this.

For building the war using the Maven build, no Maven Magic required - I applied 
the patch to branch_4x and built the war, and the SLF4J jars are not included.  
The war's POM lists all SLF4J dependencies as optional. And the Solrj POM does 
not list org.slf4j:slf4j-api as optional. 

I'll commit to trunk and backport to branch_4x and the lucene_solr_4_7 branch.


> In SolrJ's Maven Dependency Graph, slf4j-api is optional, which breaks plain 
> solrj users
> ----------------------------------------------------------------------------------------
>
>                 Key: SOLR-5950
>                 URL: https://issues.apache.org/jira/browse/SOLR-5950
>             Project: Solr
>          Issue Type: Bug
>          Components: clients - java
>    Affects Versions: 4.7, 4.7.1
>            Reporter: Uwe Schindler
>            Assignee: Steve Rowe
>         Attachments: SOLR-5950.patch
>
>
> To run as a Solr Client, you need slf4j actually configured in your 
> classpath, because HttpSolrServer hardly depends on it, also the used libs 
> like Commons Httpclient (and others)
> In SOLR-3706 *all* of the slf4j JARs were made optional, but because we did 
> not exclude the dependencies of httpclient and others explicitely, the 
> dependency was still included by maven automatically for a user that used 
> SolrJ - so effectively the "optional" was never working.
> In 4.7, [~steve_rowe] now explicitely excluded all dependencies of all deps 
> included via IVY. By that the implicit dependency by httpclient was killed.
> When I updated a project from SolrJ 4.6 to SolrJ 4.7, it suddenly failed to 
> run, because it failed with a classnotfound ex directly after starting. Not 
> even the default logging to console was enabled (which is provided by slf4j). 
> This is bad for users of SolrJ, because they have to explicitely add a 
> dependency for something that really required to use SolrJ.
> The reason for excluding slf4j-api was that we don't want to have it in the 
> WAR file, so it was made optional. But that is wrong:
> - In trunk we no longer have a WAR file
> - The primary user of SolrJ via Maven is not somebody who wants to install 
> Solr in his appserver, its the user needing the client.
> So we should restore the state from Solr 4.6, where the dep was implicitely 
> included, by making it non-optional in Maven.
> When building the WAR file in 4.x we should exclude it somehow via Maven 
> Magic(tm).



--
This message was sent by Atlassian JIRA
(v6.2#6252)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to