[
https://issues.apache.org/jira/browse/SOLR-5950?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13958869#comment-13958869
]
Uwe Schindler commented on SOLR-5950:
-------------------------------------
bq. I thought maybe that's what he meant, but I wanted to make a definitive
statement to make sure there are no misunderstandings.
I was referring to trunk. There we no longer create and store the WAR in Maven.
But the whole issue here is not really related to the WAR file: This is about
making slf4j-log API non-optional for the solrj-Module. For using solrj with
your project, you definitely need slf4j-api, otherwise you will get
ClassNotFoundExceptions when starting the code or run tests (because solrj
hardly depends on the log API).
> 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: [email protected]
For additional commands, e-mail: [email protected]