Alright, for those interested, I got this to work using the dependencies
I mentioned before by swapping in the web.xml from the latest nightly
build and passing in parameters for my custom stuff. I'm now running
Solr with all my dependencies neatly stashed away in Maven and custom
code just built on top without having to touch ant at all. I'll try to
write up a short guide on how to do this some time soon, as it's saving
us a whole ton of hassle in terms configuration for our project, and
I'll bet it can do the same for others.
Eli
On 4/10/12 3:38 PM, Steven A Rowe wrote:
Eli,
Sorry, I don't have any experience using Solr in this way.
Has anybody else here successfully run Solr when it's included as a war dependency in an
external Maven-based war project, by running "mvn jetty:run exploded" from the
external project?
FYI, The nightly download page I pointed you to includes a *binary* distribution, and you
can run Solr using such a binary distribution by following the Solr tutorial I linked to.
(This is the standard way to "get Solr running".)
Steve
-----Original Message-----
From: Eli Finkelshteyn [mailto:iefin...@gmail.com]
Sent: Tuesday, April 10, 2012 3:26 PM
To: solr-user@lucene.apache.org
Subject: Re: Moving to Maven from Ant solr.build.dir Not Found
I'm running mvn jetty:run-exploded on my own project. My dependencies are:
<dependencies>
<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr</artifactId>
<version>4.0-SNAPSHOT</version>
<type>war</type>
</dependency>
<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-core</artifactId>
<version>4.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-analysis-extras</artifactId>
<version>4.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-commons-csv</artifactId>
<version>4.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-core</artifactId>
<version>4.0-SNAPSHOT</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-spatial</artifactId>
<version>4.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-queryparser</artifactId>
<version>4.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-analyzers-common</artifactId>
<version>4.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-queries</artifactId>
<version>4.0-SNAPSHOT</version>
</dependency>
</dependencies>
I know I could download the snapshot manually, but I'd much prefer to do that
through Maven since I don't need to modify source at all.
Eli
On 4/10/12 3:14 PM, Steven A Rowe wrote:
You didn't answer my question about where you are running "mvn
jetty:run-exploded" - is it in your own project, or from the Solr sources?
Exactly which Solr Maven artifacts are you including as dependencies
are in your project's POM? (Can you copy/paste the<dependencies>
section?)
Basically, I was just doing that to try to get Solr up and running. I
haven't found too many clear guides on this point, so I could
definitely be doing something wrong here.
Have you seen<http://lucene.apache.org/solr/tutorial.html>?
If you haven't already done so, you can download a recent 4.0 snapshot by following the
"Download" link next to "Trunk (4.x-SNAPSHOT)"
from<http://wiki.apache.org/solr/NightlyBuilds>.
Steve
-----Original Message-----
From: Eli Finkelshteyn [mailto:iefin...@gmail.com]
Sent: Tuesday, April 10, 2012 2:28 PM
To: solr-user@lucene.apache.org
Subject: Re: Moving to Maven from Ant solr.build.dir Not Found
Hey Steven,
I'm not modifying Solr sources at all. I just have a project that's built on
top of Solr using ant. I'd like to move it to use maven instead of ant. The way
I was going about this was just adding in all parts of Solr that it's using as
dependencies in Maven. I wasn't using a local repo for this at all, and instead
just pulling everything from http://repository.apache.org/snapshots. I'm using
version 4.0-SNAPSHOT for everything right now.
I'm running mvn jetty:run-exploded after compiling right now (or as my build
target in Eclipse as per that guide I originally posted).
Basically, I was just doing that to try to get Solr up and running. I haven't
found too many clear guides on this point, so I could definitely be doing
something wrong here.
I'm fine with maven being officially unsupported as long as I can get things
working. I'm not doing anything too fancy or out of the ordinary, so I'm
thinking this shouldn't be too bad.
Thanks again for the help!
Eli
On 4/10/12 2:12 PM, Steven A Rowe wrote:
Eli,
Could you please more fully describe what you're doing?
Are you modifying Solr sources, and then compiling& installing the resulting
modifications to your local Maven repository?
Or do you have a project that doesn't include any Solr sources at all, but only
depends on Solr artifacts pulled in via Maven?
Also, which branch are you using? Trunk (will be 4.0 when released)? If
you're using branch_3x, my recommendation is that you instead use released
artifacts instead of snapshots.
Where are you running "mvn jetty:run-exploded"?
I'm not using ant at all, and would really like to keep it that way
if at all possible.
Well, the official Lucene/Solr build is Ant. Using Maven to build Lucene/Solr is
"officially unsupported". So depending on what you're doing, it may not be
possible to avoid Ant.
Steve
-----Original Message-----
From: Eli Finkelshteyn [mailto:iefin...@gmail.com]
Sent: Tuesday, April 10, 2012 2:03 PM
To: solr-user@lucene.apache.org
Subject: Re: Moving to Maven from Ant solr.build.dir Not Found
Hey Steve,
Thanks for the help! Ok, so per those instructions, I'm using a pom to pull
dependencies from http://repository.apache.org/snapshots.
Nonetheless, that weird solr.build.dir error still appears. Is there some place
I need to specify this that I don't know about? Should a build dir be generated
at some point during the Maven install process or some such? For clarity, all
I'm doing right now is just mvn installing and then trying mvn
jetty:run-exploded. I'm not using ant at all, and would really like to keep it
that way if at all possible.
Eli
On 4/10/12 11:56 AM, Steven A Rowe wrote:
Hi Eli,
The author of the blog post you mentioned appears to be unaware of the Maven POMs
that are already included in Subversion for both Lucene and Solr.
See<http://wiki.apache.org/solr/HowToContribute#Maven>.
Because of the complex nature of the Ant build, which the Maven POMs cannot entirely
duplicate, these POMs are not usable as the basis for IDE project bootstrapping. Instead,
IntelliJ and Eclipse configurations are separately available:
see<http://wiki.apache.org/solr/HowToContribute#IntelliJ_.289.0.X.2C_10.X.2C_and_11.X.29>
and<http://wiki.apache.org/solr/HowToContribute#Eclipse>.
Steve
-----Original Message-----
From: Eli Finkelshteyn [mailto:iefin...@gmail.com]
Sent: Tuesday, April 10, 2012 11:31 AM
To: solr-user@lucene.apache.org
Subject: Moving to Maven from Ant solr.build.dir Not Found
Hi Folks,
I've been tasked with moving a Solr project I know little about from Ant to
Maven. I've found all the dependencies I need and I'm not seeing any errors in
my IDE. Everything compiles and installs just fine. Problem is, when I try to
start things up in Jetty, I get errors. The first main one I get is:
SEVERE: null:org.apache.solr.common.SolrException: No system
property or default value specified for solr.build.dir
value:${solr.build.dir}/
I have:
<properties>
<build-directory>../build/solr-maven</build-directory>
</properties>
in my pom.xml, so I'm not sure why this comes up. Anyway, it's quickly followed
by:
java.lang.ClassNotFoundException:
org.apache.solr.servlet.SolrUpdateServlet
I'm not sure if the two are related, but when googling I can't seem to find anyone
with the same problem. For reference, I started the bulk of my move from ant to maven
using the instructions
here<http://uomesh.blogspot.com/2011/11/building-solr-as-maven-project.html>,
and then extrapolated from that to add in custom code and dependencies for my
project. Any ideas what I could be doing wrong?
Thanks for any help,
Eli