[
https://issues.apache.org/jira/browse/SOLR-5950?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Steve Rowe updated SOLR-5950:
-
Attachment: SOLR-5950.trunk.patch
SOLR-5950.branch_4x.patch
Separate trunk and branch_4x patches, since trunk doesn't have a war POM.
On trunk, {{org.slf4j:slf4j-api}} is a transitive dependency (not optional) in
all modules in which it is a dependency.
On branch_4x, {{org.slf4j:slf4j-api}} is a transitive dependency (not optional)
in all modules in which it is a dependency, except for the war POM, where it is
optional. When I build the war using Maven after applying the branch_4x patch,
it does not contain the {{slf4j-api}} jar.
Committing shortly to trunk and branch_4x, then backporting from branch_4x to
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.branch_4x.patch, SOLR-5950.patch,
> SOLR-5950.trunk.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