List Info

Thread: how to run solr in windows & Tomcat5




how to run solr in windows & Tomcat5
user name
2006-05-21 14:39:48
I input all the source code in winxp sp2 & tomcat 5 in
jBuilder . when I
debug the application always throw Exception like :
org.apache.solr.core.SolrException: Error loading class
'solr.StandardFilterFactory'...
Caused by: java.lang.ClassNotFoundException: ...
such as ort.apache.solr.schema.* all throw this Exception ;I
think those
codes :
public static Class findClass(String cname, String...
subpackages) {
    ClassLoader loader =
Thread.currentThread().getContextClassLoader();
    if (subpackages.length==0) subpackages = packages;

    // first try cname == full name
    try {
      return Class.forName(cname, true, loader);
    } catch (ClassNotFoundException e) {
      String newName=cname;
      if (newName.startsWith(project)) {
        newName = cname.substring(project.length()+1);
      }
      for (String subpackage : subpackages) {
        try {
          String name = base + '.' + subpackage + newName;
          log.finest("Trying class name " +
name);
          return Class.forName(name, true, loader);
        } catch (ClassNotFoundException e1) {
          // ignore... assume first exception is best.
        }
      }

      throw new SolrException(500, "Error loading
class '" + cname + "'", e,
false);
    }
in org.apache.solr.core.Config class cause the exception;
who can tell me why;Reason is A:cofig file not load?B:tomcat
classloader
cause the exception?C:maybe some liberary not
import?D:OTHERS?... 
Thanks! 

--
View this message in context: http://www.nabble.com/how+to+ru
n+solr+in+windows+-+Tomcat5-t1658550.html#a4492962
Sent from the Solr - User forum at Nabble.com.

how to run solr in windows & Tomcat5
user name
2006-05-21 18:23:08
solr.StandardFilterFactory and any solr.* class names you
might see in a
config file are just short alias names for full classnames
in the
org.apache.solr.*.* packages.  the method you mention that
throws this
exception is responsible for resolving those names in a set
of packages
passed in by the caller based on what it's expecting to
find.  It's
default behavior is to assume the package name in the config
is the full
real class name, if it can't find that then check the known
packages, and
if it still can't find it then throw an exception refering
to the
*orriginal* name.

the fact that you are seeing this exception means that it
can't load any
version of the class, including the fully qualified name
org.apache.solr.analysis.StandardFilterFactory.

YOu said you are running tomcat/solr inside of jBuilder? ..
are there
perhaps some jBuilder settings related to classpath context
you could try
twiddling? ... i don't personally have a lot of experience
running
applications inside of IDEs (particularaly applications like
tomcat, which
themselves manage classpaths for other code.


On Sun, 21 May 2006, tlw_ray wrote:

: Date: Sun, 21 May 2006 07:39:48 -0700 (PDT)
: From: tlw_ray <uo---1163.com>
: Reply-To: solr-userlucene.apache.org
: To: solr-userlucene.apache.org
: Subject: how to run solr in windows & Tomcat5
:
:
: I input all the source code in winxp sp2 & tomcat 5 in
jBuilder . when I
: debug the application always throw Exception like :
: org.apache.solr.core.SolrException: Error loading class
: 'solr.StandardFilterFactory'...
: Caused by: java.lang.ClassNotFoundException: ...
: such as ort.apache.solr.schema.* all throw this Exception
;I think those
: codes :
: public static Class findClass(String cname, String...
subpackages) {
:     ClassLoader loader =
Thread.currentThread().getContextClassLoader();
:     if (subpackages.length==0) subpackages = packages;
:
:     // first try cname == full name
:     try {
:       return Class.forName(cname, true, loader);
:     } catch (ClassNotFoundException e) {
:       String newName=cname;
:       if (newName.startsWith(project)) {
:         newName = cname.substring(project.length()+1);
:       }
:       for (String subpackage : subpackages) {
:         try {
:           String name = base + '.' + subpackage +
newName;
:           log.finest("Trying class name " +
name);
:           return Class.forName(name, true, loader);
:         } catch (ClassNotFoundException e1) {
:           // ignore... assume first exception is best.
:         }
:       }
:
:       throw new SolrException(500, "Error loading
class '" + cname + "'", e,
: false);
:     }
: in org.apache.solr.core.Config class cause the exception;
: who can tell me why;Reason is A:cofig file not
load?B:tomcat classloader
: cause the exception?C:maybe some liberary not
import?D:OTHERS?...
: Thanks!
:
: --
: View this message in context: http://www.nabble.com/how+to+ru
n+solr+in+windows+-+Tomcat5-t1658550.html#a4492962
: Sent from the Solr - User forum at Nabble.com.
:



-Hoss

how to run solr in windows & Tomcat5
user name
2006-05-22 02:44:09
thank you Chris Hostetter,I'm fresher in j2ee develop;I
write a servlet
test;it show 

package org.apache.solr.servlet;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import org.apache.solr.tst.TestRequestHandler;
import org.apache.solr.schema.*;
import org.apache.solr.analysis.*;
public class ServletClassFrom extends HttpServlet {
    private static final String CONTENT_TYPE =
"text/html; charset=GB18030";

    //Initialize global variables
    public void init() throws ServletException {
    }

    //Process the HTTP Get request
    public void doGet(HttpServletRequest request,
HttpServletResponse
response) throws
            ServletException, IOException {
        response.setContentType(CONTENT_TYPE);
        PrintWriter out = response.getWriter();
        out.println("<html>");
       
out.println("<head><title>ServletClassFrom
</title></head>");
        out.println("<body
bgcolor=\"#ffffff\">");
        out.println("<p>The servlet has received
a GET. This is the
reply.</p>");

       
myFromName("org.apache.solr.request.StandardRequestHan
dler",out);
       
myFromName("org.apache.solr.tst.OldRequestHandler&quo
t;,out);
       
myFromName("org.apache.solr.tst.TestRequestHandler&qu
ot;,out);
       
myFromName("org.apache.solr.schema.IntField",out
);

        out.println("</body>");
        out.println("</html>");
        out.close();
    }

    //Clean up resources
    public void destroy() {
    }
    private void myFromName(String classname,PrintWriter
out){
        try{
        ClassLoader loader =
Thread.currentThread().getContextClassLoader();
        //Thread.currentThread().setContextClassLoader();
       
//out.println("ClassLoader:"+loader.toString()+
"<br>");
        Class cls = loader.loadClass(classname);
        // Class cls = Class.forName(classname, true,
loader);
          
if(cls!=null){out.println("cls"+cls.toString()+
"<br>");}
            out.println("<hr>");
       } catch (ClassNotFoundException ex) {
          
out.println("Exception:"+ex.getMessage()+"
<br>");
           //ex.printStackTrace(out);
           out.println(ex.toString());
           out.println("<hr>");
       }
    }
}
---------------------------------------------------------
result page:
The servlet has received a GET. This is the reply. 
clsclass org.apache.solr.request.StandardRequestHandler
clsclass org.apache.solr.tst.OldRequestHandler
clsclass org.apache.solr.tst.TestRequestHandler
clsclass org.apache.solr.schema.IntField
Exception:org.apache.solr.analysis.StandardFilterFactoryjava
.lang.ClassNotFoundException:
org.apache.solr.analysis.StandardFilterFactory 
------------------------------------------------------------
--------------------------------------
Why some class can be load others can not ?
when I debug solr/admin/index.jsp the infos:

信息: Initializing Coyote HTTP/1.1 on http-8080

2006-5-22 10:40:28 org.apache.catalina.startup.Catalina load

信息: Initialization processed in 1078 ms

2006-5-22 10:40:28 org.apache.catalina.core.StandardService
start

信息: Starting service Catalina

2006-5-22 10:40:28 org.apache.catalina.core.StandardEngine
start

信息: Starting Servlet Engine: Apache Tomcat/5.0.28

2006-5-22 10:40:28 org.apache.catalina.core.StandardHost
start

信息: XML validation disabled

2006-5-22 10:40:29
org.apache.catalina.loader.WebappClassLoader
validateJarFile

信息:
validateJarFile(E:\app.java\OpenSource_Apache\jakarta-tom
cat-5.0.28\webapps\Solr\WebModule1\WEB-INF\lib\servlet
-api-2.4.jar)
- jar not loaded. See Servlet Spec 2.3, section 9.7.2.
Offending class:
javax/servlet/Servlet.class

2006-5-22 10:40:29 org.apache.catalina.core.StandardHost
getDeployer

信息: Create Host deployer for direct deployment ( non-jmx
) 

2006-5-22 10:40:30 org.apache.coyote.http11.Http11Protocol
start

信息: Starting Coyote HTTP/1.1 on http-8080

2006-5-22 10:40:30 org.apache.catalina.startup.Catalina
start

信息: Server startup in 1266 ms

2006-5-22 10:40:31 org.apache.solr.core.SolrConfig
initConfig

信息: Loaded SolrConfig: solrconfig.xml

2006-5-22 10:40:32 org.apache.solr.core.RequestHandlers
<init>

信息: adding requestHandler
standard=solr.StandardRequestHandler

2006-5-22 10:40:32
org.apache.solr.request.StandardRequestHandler init

信息: Unused request handler arguments:{}

2006-5-22 10:40:32 org.apache.solr.core.SolrCore
<init>

信息: Opening new SolrCore at solr/, dataDir=solr/data

2006-5-22 10:40:32 org.apache.solr.schema.IndexSchema
readConfig

信息: Reading Solr Schema

2006-5-22 10:40:32 org.apache.solr.schema.IndexSchema
readConfig

信息: Schema name=example

StandardWrapperValve[debugjsp]: Servlet.service() for
servlet debugjsp threw
exception

org.apache.solr.core.SolrException: Error loading class
'solr.StandardFilterFactory'

org.apache.solr.core.SolrException: Error loading class
'solr.StandardFilterFactory'

--
View this message in context: http://www.nabble.com/how+to+ru
n+solr+in+windows+-+Tomcat5-t1658550.html#a4499269
Sent from the Solr - User forum at Nabble.com.

how to run solr in windows & Tomcat5
user name
2006-05-22 03:11:05
As i said: i don't relaly know a lot about running
applications from
within an IDE --  and for that matter, i don't really know
a lot about
classloaders in general -- but the error you are getting
indicates that
when jBuilder tries to run tomcat, which tries to load Solr
it's not
finding those classes.

Have you tried running tomcat with the precompiled solr.war
*not* in
jBUilder ... just as a standalone java application?  if that
works, then
there is probably something wrong with your classpath
configuration in
jBuilder.


: Date: Sun, 21 May 2006 19:44:09 -0700 (PDT)
: From: tlw_ray <uo---1163.com>
: Reply-To: solr-userlucene.apache.org
: To: solr-userlucene.apache.org
: Subject: Re: how to run solr in windows & Tomcat5
:
:
: thank you Chris Hostetter,I'm fresher in j2ee develop;I
write a servlet
: test;it show
:
: package org.apache.solr.servlet;
:
: import javax.servlet.*;
: import javax.servlet.http.*;
: import java.io.*;
: import java.util.*;
: import org.apache.solr.tst.TestRequestHandler;
: import org.apache.solr.schema.*;
: import org.apache.solr.analysis.*;
: public class ServletClassFrom extends HttpServlet {
:     private static final String CONTENT_TYPE =
"text/html; charset=GB18030";
:
:     //Initialize global variables
:     public void init() throws ServletException {
:     }
:
:     //Process the HTTP Get request
:     public void doGet(HttpServletRequest request,
HttpServletResponse
: response) throws
:             ServletException, IOException {
:         response.setContentType(CONTENT_TYPE);
:         PrintWriter out = response.getWriter();
:         out.println("<html>");
:        
out.println("<head><title>ServletClassFrom
</title></head>");
:         out.println("<body
bgcolor=\"#ffffff\">");
:         out.println("<p>The servlet has
received a GET. This is the
: reply.</p>");
:
:        
myFromName("org.apache.solr.request.StandardRequestHan
dler",out);
:        
myFromName("org.apache.solr.tst.OldRequestHandler&quo
t;,out);
:        
myFromName("org.apache.solr.tst.TestRequestHandler&qu
ot;,out);
:        
myFromName("org.apache.solr.schema.IntField",out
);
:
:         out.println("</body>");
:         out.println("</html>");
:         out.close();
:     }
:
:     //Clean up resources
:     public void destroy() {
:     }
:     private void myFromName(String classname,PrintWriter
out){
:         try{
:         ClassLoader loader =
Thread.currentThread().getContextClassLoader();
:         //Thread.currentThread().setContextClassLoader();
:        
//out.println("ClassLoader:"+loader.toString()+
"<br>");
:         Class cls = loader.loadClass(classname);
:         // Class cls = Class.forName(classname, true,
loader);
:           
if(cls!=null){out.println("cls"+cls.toString()+
"<br>");}
:             out.println("<hr>");
:        } catch (ClassNotFoundException ex) {
:           
out.println("Exception:"+ex.getMessage()+"
<br>");
:            //ex.printStackTrace(out);
:            out.println(ex.toString());
:            out.println("<hr>");
:        }
:     }
: }
: ---------------------------------------------------------
: result page:
: The servlet has received a GET. This is the reply.
: clsclass org.apache.solr.request.StandardRequestHandler
: clsclass org.apache.solr.tst.OldRequestHandler
: clsclass org.apache.solr.tst.TestRequestHandler
: clsclass org.apache.solr.schema.IntField
:
Exception:org.apache.solr.analysis.StandardFilterFactoryjava
.lang.ClassNotFoundException:
: org.apache.solr.analysis.StandardFilterFactory
:
------------------------------------------------------------
--------------------------------------
: Why some class can be load others can not ?
: when I debug solr/admin/index.jsp the infos:
:
: 信息: Initializing Coyote HTTP/1.1 on http-8080
:
: 2006-5-22 10:40:28 org.apache.catalina.startup.Catalina
load
:
: 信息: Initialization processed in 1078 ms
:
: 2006-5-22 10:40:28
org.apache.catalina.core.StandardService start
:
: 信息: Starting service Catalina
:
: 2006-5-22 10:40:28 org.apache.catalina.core.StandardEngine
start
:
: 信息: Starting Servlet Engine: Apache Tomcat/5.0.28
:
: 2006-5-22 10:40:28 org.apache.catalina.core.StandardHost
start
:
: 信息: XML validation disabled
:
: 2006-5-22 10:40:29
org.apache.catalina.loader.WebappClassLoader
: validateJarFile
:
: 信息:
:
validateJarFile(E:\app.java\OpenSource_Apache\jakarta-tom
cat-5.0.28\webapps\Solr\WebModule1\WEB-INF\lib\servlet
-api-2.4.jar)
: - jar not loaded. See Servlet Spec 2.3, section 9.7.2.
Offending class:
: javax/servlet/Servlet.class
:
: 2006-5-22 10:40:29 org.apache.catalina.core.StandardHost
getDeployer
:
: 信息: Create Host deployer for direct deployment (
non-jmx )
:
: 2006-5-22 10:40:30 org.apache.coyote.http11.Http11Protocol
start
:
: 信息: Starting Coyote HTTP/1.1 on http-8080
:
: 2006-5-22 10:40:30 org.apache.catalina.startup.Catalina
start
:
: 信息: Server startup in 1266 ms
:
: 2006-5-22 10:40:31 org.apache.solr.core.SolrConfig
initConfig
:
: 信息: Loaded SolrConfig: solrconfig.xml
:
: 2006-5-22 10:40:32 org.apache.solr.core.RequestHandlers
<init>
:
: 信息: adding requestHandler
standard=solr.StandardRequestHandler
:
: 2006-5-22 10:40:32
org.apache.solr.request.StandardRequestHandler init
:
: 信息: Unused request handler arguments:{}
:
: 2006-5-22 10:40:32 org.apache.solr.core.SolrCore
<init>
:
: 信息: Opening new SolrCore at solr/, dataDir=solr/data
:
: 2006-5-22 10:40:32 org.apache.solr.schema.IndexSchema
readConfig
:
: 信息: Reading Solr Schema
:
: 2006-5-22 10:40:32 org.apache.solr.schema.IndexSchema
readConfig
:
: 信息: Schema name=example
:
: StandardWrapperValve[debugjsp]: Servlet.service() for
servlet debugjsp threw
: exception
:
: org.apache.solr.core.SolrException: Error loading class
: 'solr.StandardFilterFactory'
:
: org.apache.solr.core.SolrException: Error loading class
: 'solr.StandardFilterFactory'
:
: --
: View this message in context: http://www.nabble.com/how+to+ru
n+solr+in+windows+-+Tomcat5-t1658550.html#a4499269
: Sent from the Solr - User forum at Nabble.com.
:



-Hoss

how to run solr in windows & Tomcat5
user name
2006-05-29 02:57:12
Oh.I'v tried run tomcat with the precompiled solr.war.When
visit
http://localhost:80
80/solr/admin/ always show the page:
------------------------------------------------------------
------------------------------------------------------------
-------
type Exception report

message 

description The server encountered an internal error () that
prevented it
from fulfilling this request.

exception 

javax.servlet.ServletException

org.apache.jasper.runtime.PageContextImpl.doHandlePageExcept
ion(PageContextImpl.java:825)

org.apache.jasper.runtime.PageContextImpl.handlePageExceptio
n(PageContextImpl.java:758)
	org.apache.jsp.admin.index_jsp._jspService(index_jsp.java:2
72)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.j
ava:94)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802
)

org.apache.jasper.servlet.JspServletWrapper.service(JspServl
etWrapper.java:324)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServ
let.java:292)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.jav
a:236)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802
)


root cause 

java.lang.NoClassDefFoundError
	org.apache.jsp.admin.index_jsp._jspService(index_jsp.java:6
7)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.j
ava:94)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802
)

org.apache.jasper.servlet.JspServletWrapper.service(JspServl
etWrapper.java:324)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServ
let.java:292)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.jav
a:236)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802
)
------------------------------------------------------------
-----------------------------------------------------------



--
View this message in context: http://www.nabble.com/how+to+ru
n+solr+in+windows+-+Tomcat5-t1658550.html#a4605354
Sent from the Solr - User forum at Nabble.com.

how to run solr in windows & Tomcat5
user name
2006-05-29 20:15:33
: Oh.I'v tried run tomcat with the precompiled
solr.war.When visit
: http://localhost:80
80/solr/admin/ always show the page:

: root cause
:
: java.lang.NoClassDefFoundError
:
	org.apache.jsp.admin.index_jsp._jspService(index_jsp.java:6
7)

...did you look at the tomcat logs directory to see if there
were any
errors when the server tried to start itself?

I'm guessing the problem is that on startup it couldn't
find your
solrconfig.xml file (or your schema.xml) so the core classes
couldn't be
initialized, so when you tried to load the page those
classes can't be
found.  Where do you have your config files?  is there a
"solr/" directory
in the current working directory when you start the server,
or are you
setting the solr.solr.home system property, or using the
recently added
(but not yet well documented) jndi options for specifying
solr.home?


using the following steps, i was able to start up solr
server using the
example configs (copied into my current working directory)
and access it
at http://localhost:80
80/solr/admin/ ...

laptop:~/tmp> mkdir solr-tomcat
laptop:~/tmp> cd solr-tomcat/
laptop:~/tmp/solr-tomcat> wget http://www.ibiblio
.org/pub/mirrors/apache/tomcat/tomcat-5/v5.5.17/bin/apache-t
omcat-5.5.17.zip > & /dev/null
laptop:~/tmp/solr-tomcat> wget http://people.apache.org/dist/lucene/solr/n
ightly/solr-2006-05-29.zip > & /dev/null
laptop:~/tmp/solr-tomcat> unzip apache-tomcat-5.5.17.zip
> & /dev/null
laptop:~/tmp/solr-tomcat> unzip solr-2006-05-29.zip >
& /dev/null
laptop:~/tmp/solr-tomcat> cp
solr-nightly/dist/solr-nightly.war
apache-tomcat-5.5.17/webapps/solr.war
laptop:~/tmp/solr-tomcat> cp -r solr-nightly/example/solr
.
laptop:~/tmp/solr-tomcat> chmod a+x
apache-tomcat-5.5.17/bin/*
laptop:~/tmp/solr-tomcat>
./apache-tomcat-5.5.17/bin/startup.sh > & /dev/null


...if it can't find your configs, you'll see some really
obvious
exceptions in tomcats "localhost" log that look
like this...

SEVERE: StandardWrapper.Throwable
java.lang.ExceptionInInitializerError
        at
org.apache.solr.update.SolrIndexConfig.<clinit>(SolrIn
dexConfig.java:35)
        at
org.apache.solr.core.SolrCore.<clinit>(SolrCore.java:7
7)
...
Caused by: java.lang.RuntimeException: Error in
solrconfig.xml
        at
org.apache.solr.core.SolrConfig.<clinit>(SolrConfig.ja
va:76)
        ... 30 more
Caused by: java.lang.RuntimeException: Can't find resource
'solrconfig.xml' in classpath or 'solr/conf/',
cwd=/home/hossman/tmp/solr-tomcat
...
SEVERE: Servlet /solr threw load() exception
java.lang.ExceptionInInitializerError




-Hoss

[1-6]

about | contact  Other archives ( Real Estate discussion Medical topics )