lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From John Bickerstaff <j...@johnbickerstaff.com>
Subject Re: running solr 6.x in Eclipse for debugging
Date Wed, 05 Oct 2016 21:12:05 GMT
I've found this much in build.xml...

 I'm assuming Ant puts the compiled jars into the paths listed below.

Further hints gratefully accepted if someone knows specifically how to set
this up from top to bottom. I assume the Eclipse build path puts the jars
into the referenced directories...?

<target name="dist"

          description="Creates the Webapp folder for distribution."

          depends="dist-core, dist-solrj, lucene-jars-to-solr">

    <ant dir="${common-solr.dir}" inheritall="false" target=
"contribs-add-to-webapp"/>

    <mkdir dir="${server.dir}/solr-webapp/webapp"/>

    <copy todir="${server.dir}/solr-webapp/webapp">

      <fileset dir="web" excludes="${exclude.from.webapp}"/>

      <fileset dir="${dest}/web" excludes="${exclude.from.war}"/> <!--
contribs' additions -->

    </copy>

    <mkdir dir="${server.dir}/solr-webapp/webapp/WEB-INF/lib"/>

    <copy todir="${server.dir}/solr-webapp/webapp/WEB-INF/lib">

      <fileset dir="${common-solr.dir}/core/lib" excludes=
"${exclude.from.webapp},${common.classpath.excludes}"/>

      <fileset dir="${common-solr.dir}/solrj/lib" excludes=
"${exclude.from.webapp},${common.classpath.excludes}"/>

      <fileset dir="${lucene-libs}" excludes=
"${exclude.from.webapp},${common.classpath.excludes}" />

      <fileset dir="${dist}" excludes=
"${exclude.from.webapp},${common.classpath.excludes}">

        <include name="solr-solrj-${version}.jar" />

        <include name="solr-core-${version}.jar" />

      </fileset>

    </copy>

  </target>

On Wed, Oct 5, 2016 at 1:30 PM, John Bickerstaff <john@johnbickerstaff.com>
wrote:

> OK - I'm running now in debug mode.  My intent is to add and test a "hello
> world" plugin to prove everything is wired up and that I can debug all the
> way into the plugin I wrote...
>
> I want to test plugins/addons which, as I understand it go here if you're
> adding them to an installed version of Solr.
>
> solr-6.x.x/server/solr-webapp/webapp/WEB-INF/lib/
>
> So - to get that all working (build and seeing source when in debug
> mode)...
>
> 1. Where, exactly, should I place the source code for a new plugin that is
> NOT a part of the Solr distribution if I want to be able to debug through
> that code as well?  (I understand that the appropriate entries will need to
> be in the correct xml files in the core/collection configurations)
>
> 2. Will I need to change the build.xml files in some way?  If yes, please
> tell me how, I'm unfamiliar with Ant.
>
> 3. In case I'm in "X/Y problem mode" here - My goal is: Add plugin source
> code, build, make config changes where needed, and see source when I put a
> breakpoint in code.
>
>
>
> On Wed, Oct 5, 2016 at 12:04 PM, John Bickerstaff <
> john@johnbickerstaff.com> wrote:
>
>> Thanks Mikhail!
>>
>> On Wed, Oct 5, 2016 at 11:29 AM, Mikhail Khludnev <mkhl@apache.org>
>> wrote:
>>
>>> ok. it's "run-example" [ ..@solr]$ant -p
>>>  run-example                  Run Solr interactively, via Jetty.
>>> -Dexample.debug=true to en
>>> able JVM debugger
>>> I have it in master and branch_6x
>>>
>>> On Wed, Oct 5, 2016 at 5:51 PM, John Bickerstaff <
>>> john@johnbickerstaff.com>
>>> wrote:
>>>
>>> > Mikhail -- which version of Solr are you using to do this [ant example
>>> > -Dexample.debug=true]
>>> >
>>> > I may be wrong, but it seems that "example" no longer works with
>>> 6.x...?
>>> >
>>> > On Wed, Oct 5, 2016 at 1:14 AM, Mikhail Khludnev <mkhl@apache.org>
>>> wrote:
>>> >
>>> > > launching ant example -Dexample.debug=true from Exlipse works to me.
>>> > > It takes a while for useless compile checks, then you can debug
>>> remotely
>>> > to
>>> > > 5005.
>>> > > Jetty process need to be terminated separately. SolrAdmin works,
>>> > debugging
>>> > > with sources works too.
>>> > > However, there is no cores my default, you need to create them
>>> manually.
>>> > >
>>> > > Probably the better way is to launch ant server, and then bin{\}solr
>>> > start
>>> > > -e ... -a ... and connect debugger remotely.
>>> > >
>>> > > On Wed, Oct 5, 2016 at 7:19 AM, Erick Erickson <
>>> erickerickson@gmail.com>
>>> > > wrote:
>>> > >
>>> > > > Warning: I use IntelliJ, but I think Eclipse works similarly.
>>> > > >
>>> > > > I'm a bit confused. Are you trying to _start_ Solr from
>>> > > > within Eclipse? Or starting it from a command prompt?
>>> > > >
>>> > > > I do the latter and then attach a remote debugging session
>>> > > > from within the IDE, which is what I think that link suggests
too.
>>> > > >
>>> > > > I also build 'ant server dist' from the install_dir/solr directory
>>> > first.
>>> > > > The 'ant eclipse' target just builds the project structure for
>>> Eclipse,
>>> > > > it doesn't build Solr.
>>> > > >
>>> > > > YMMV of course since you're using a different IDE.
>>> > > >
>>> > > > Best,
>>> > > > Erick
>>> > > >
>>> > > >
>>> > > > On Tue, Oct 4, 2016 at 5:27 PM, John Bickerstaff
>>> > > > <john@johnbickerstaff.com> wrote:
>>> > > > > Thanks!
>>> > > > >
>>> > > > > This works...
>>> > > > >
>>> > > > > I'm getting a (possibly unrelated?) warning and can't hit
the
>>> Admin
>>> > > page
>>> > > > (I
>>> > > > > get a 503).  I DO see eclipse "hook into" the debug session
>>> which is
>>> > > > > excellent.
>>> > > > >
>>> > > > > The warning resolves to this:
>>> > > > >
>>> > > > > java.io.FileNotFoundException:
>>> > > > > /Users/.../.../workspace/solr-6.2.1/solr/server/solr-webapp/
>>> webapp
>>> > > > >
>>> > > > > Full stack trace below...
>>> > > > >
>>> > > > > I built the project using ant and ivy for eclipse.
>>> > > > >
>>> > > > > ant eclipse (inside the solr6.x.x directory per the instructions
>>> I
>>> > > > > referenced)
>>> > > > >
>>> > > > > I did not see a way to build the jetty portion - and perhaps
>>> that's
>>> > > what
>>> > > > > the problem is -- although the instructions here (
>>> > > > > http://opensourceconnections.com/blog/2013/04/13/how-to-
>>> > > > debug-solr-with-eclipse/)
>>> > > > > about building jetty don't seem to work with this version
of
>>> Solr...
>>> > > > >
>>> > > > > Any suggestions welcome.  It seems to me the jetty jars are
all
>>> there
>>> > > but
>>> > > > > maybe I'm missing something.  Especially since the stack
trace is
>>> > > > > complaining about "Web application not found"
>>> > > > >
>>> > > > > I'll dig into it more tomorrow...
>>> > > > >
>>> > > > > =========
>>> > > > >
>>> > > > > stack trace:
>>> > > > >
>>> > > > > 220  WARN  (main) [   ] o.e.j.w.WebInfConfiguration Web
>>> application
>>> > not
>>> > > > > found
>>> > > > > /Users/.../Documents/workspace/solr-6.2.1/solr/
>>> > > server/solr-webapp/webapp
>>> > > > > 221  WARN  (main) [   ] o.e.j.w.WebAppContext Failed startup
of
>>> > context
>>> > > > > o.e.j.w.WebAppContext@3b0090a4
>>> > > > > {/solr,null,null}{/Users/jbickerstaff/Documents/
>>> > > > workspace/solr-6.2.1/solr/server/solr-webapp/webapp}
>>> > > > > java.io.FileNotFoundException:
>>> > > > > /Users/.../Documents/workspace/solr-6.2.1/solr/
>>> > > server/solr-webapp/webapp
>>> > > > > at
>>> > > > > org.eclipse.jetty.webapp.WebInfConfiguration.unpack(
>>> > > > WebInfConfiguration.java:497)
>>> > > > > at
>>> > > > > org.eclipse.jetty.webapp.WebInfConfiguration.preConfigure(
>>> > > > WebInfConfiguration.java:72)
>>> > > > > at
>>> > > > > org.eclipse.jetty.webapp.WebAppContext.preConfigure(
>>> > > > WebAppContext.java:480)
>>> > > > > at org.eclipse.jetty.webapp.WebAppContext.doStart(
>>> > > > WebAppContext.java:516)
>>> > > > > at
>>> > > > > org.eclipse.jetty.util.component.AbstractLifeCycle.
>>> > > > start(AbstractLifeCycle.java:68)
>>> > > > > at
>>> > > > > org.eclipse.jetty.deploy.bindings.StandardStarter.processBin
>>> ding(
>>> > > > StandardStarter.java:41)
>>> > > > > at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(
>>> > > > AppLifeCycle.java:188)
>>> > > > > at
>>> > > > > org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(
>>> > > > DeploymentManager.java:499)
>>> > > > > at
>>> > > > > org.eclipse.jetty.deploy.DeploymentManager.addApp(
>>> > > > DeploymentManager.java:147)
>>> > > > > at
>>> > > > > org.eclipse.jetty.deploy.providers.ScanningAppProvider.
>>> > > > fileAdded(ScanningAppProvider.java:180)
>>> > > > > at
>>> > > > > org.eclipse.jetty.deploy.providers.WebAppProvider.
>>> > > > fileAdded(WebAppProvider.java:458)
>>> > > > > at
>>> > > > > org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fil
>>> eAdded(
>>> > > > ScanningAppProvider.java:64)
>>> > > > > at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:6
>>> 10)
>>> > > > > at org.eclipse.jetty.util.Scanner.reportDifferences(
>>> > Scanner.java:529)
>>> > > > > at org.eclipse.jetty.util.Scanner.scan(Scanner.java:392)
>>> > > > > at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:313)
>>> > > > > at
>>> > > > > org.eclipse.jetty.util.component.AbstractLifeCycle.
>>> > > > start(AbstractLifeCycle.java:68)
>>> > > > > at
>>> > > > > org.eclipse.jetty.deploy.providers.ScanningAppProvider.
>>> > > > doStart(ScanningAppProvider.java:150)
>>> > > > > at
>>> > > > > org.eclipse.jetty.util.component.AbstractLifeCycle.
>>> > > > start(AbstractLifeCycle.java:68)
>>> > > > > at
>>> > > > > org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(
>>> > > > DeploymentManager.java:561)
>>> > > > > at
>>> > > > > org.eclipse.jetty.deploy.DeploymentManager.doStart(
>>> > > > DeploymentManager.java:236)
>>> > > > > at
>>> > > > > org.eclipse.jetty.util.component.AbstractLifeCycle.
>>> > > > start(AbstractLifeCycle.java:68)
>>> > > > > at
>>> > > > > org.eclipse.jetty.util.component.ContainerLifeCycle.
>>> > > > start(ContainerLifeCycle.java:132)
>>> > > > > at org.eclipse.jetty.server.Server.start(Server.java:405)
>>> > > > > at
>>> > > > > org.eclipse.jetty.util.component.ContainerLifeCycle.
>>> > > > doStart(ContainerLifeCycle.java:114)
>>> > > > > at
>>> > > > > org.eclipse.jetty.server.handler.AbstractHandler.
>>> > > > doStart(AbstractHandler.java:61)
>>> > > > > at org.eclipse.jetty.server.Server.doStart(Server.java:372)
>>> > > > > at
>>> > > > > org.eclipse.jetty.util.component.AbstractLifeCycle.
>>> > > > start(AbstractLifeCycle.java:68)
>>> > > > > at org.eclipse.jetty.xml.XmlConfiguration$1.run(
>>> > > > XmlConfiguration.java:1510)
>>> > > > > at java.security.AccessController.doPrivileged(Native Method)
>>> > > > > at org.eclipse.jetty.xml.XmlConfiguration.main(
>>> > > > XmlConfiguration.java:1435)
>>> > > > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> > > > > at
>>> > > > > sun.reflect.NativeMethodAccessorImpl.invoke(
>>> > > > NativeMethodAccessorImpl.java:62)
>>> > > > > at
>>> > > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(
>>> > > > DelegatingMethodAccessorImpl.java:43)
>>> > > > > at java.lang.reflect.Method.invoke(Method.java:498)
>>> > > > > at org.eclipse.jetty.start.Main.invokeMain(Main.java:214)
>>> > > > > at org.eclipse.jetty.start.Main.start(Main.java:457)
>>> > > > > at org.eclipse.jetty.start.Main.main(Main.java:75)
>>> > > > > 240  INFO  (main) [   ] o.e.j.s.ServerConnector Started
>>> > > > > ServerConnector@68e5eea7{HTTP/1.1,[http/1.1]}{0.0.0.0:8983}
>>> > > > > 240  INFO  (main) [   ] o.e.j.s.Server Started @18534ms
>>> > > > >
>>> > > > >
>>> > > > >
>>> > > > > On Tue, Oct 4, 2016 at 4:45 PM, Jihwan Kim <jihwan11@gmail.com>
>>> > wrote:
>>> > > > >
>>> > > > >> I read your first reference and run the following command
on the
>>> > > > >> Solr_Installed Dir.  I am using v. 6.2.0 and 4.10.4.
 both
>>> works.
>>> > > > >>
>>> > > > >> bin/solr start -f -a "-Xdebug
>>> > > > >> -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=7666"
>>> > > > >>
>>> > > > >> On Tue, Oct 4, 2016 at 5:26 PM, John Bickerstaff <
>>> > > > john@johnbickerstaff.com
>>> > > > >> >
>>> > > > >> wrote:
>>> > > > >>
>>> > > > >> > All,
>>> > > > >> >
>>> > > > >> > I've found some hints, but can't get Solr running
in debug
>>> mode in
>>> > > > >> eclipse
>>> > > > >> > with the instructions
>>> > > > >> >
>>> > > > >> > Here:
>>> > > > >> > http://opensourceconnections.com/blog/2013/04/13/how-to-
>>> > > > >> > debug-solr-with-eclipse/
>>> > > > >> >
>>> > > > >> > or Here: http://wiki.apache.org/solr/HowToConfigureEclipse
>>> > > > >> >
>>> > > > >> > When I run this command from the wiki : java -Xdebug
>>> > > > >> > -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=7666
>>> > -jar
>>> > > > >> > start.jar
>>> > > > >> >
>>> > > > >> > I get an error: WARNING: Nothing to start, exiting
...
>>> > > > >> >
>>> > > > >> > I can't start the jar file "normally" either and
it turns out
>>> to
>>> > be
>>> > > a
>>> > > > >> > symlink.
>>> > > > >> >
>>> > > > >> > I'm thinking that things are different now given
that the way
>>> to
>>> > > start
>>> > > > >> Solr
>>> > > > >> > is this way:
>>> > > > >> >
>>> > > > >> > bin/solr start -e cloud -noprompt
>>> > > > >> >
>>> > > > >> > Can anyone point me at documentation or drop a hint?
>>> > > > >> >
>>> > > > >>
>>> > > >
>>> > >
>>> > >
>>> > >
>>> > > --
>>> > > Sincerely yours
>>> > > Mikhail Khludnev
>>> > >
>>> >
>>>
>>>
>>>
>>> --
>>> Sincerely yours
>>> Mikhail Khludnev
>>>
>>
>>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message