tomcat下部署solr

2019-03-27 00:23|来源: 网路

应项目经理要求,我们项目需要做搜索的功能。搜索这块的任务交给了我,技术方案是Solr。于是花了一下午时间在比较新的tomcat下装起了一个目前最新的solr。

注意在使用eclipse使用tomcat发布时注意

wKiom1PZCE7SoWbmAAG0A70igak016.jpg 



    安装步骤:

    首先弄到tomcat和solr4.9的包,这自不必说!然后将solr解压在:F:\solr\solr-4.6.0这下面,将tomcat解压在:F:\solr\tomcat7.0.52。同时新建一个solr运行用的文件夹:F:\solr\home。并将下载的solr包中的example/solr文件夹下面的所有文件放入到F:\solr\home。同时将solr包里面的:F:\solr\solr-4.9.0\dist\solr-4.9.0.war复制到tomcat里面的webapps文件夹下面,同时改名为solr.war。

    在tomcat的conf/Catalina/localhost下添加solr.xml文件,文件内容如下:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Context docBase="F:\solr\tomcat7.0.52\webapps\solr.war" debug="0" crossContext="true" >
  <Environment name="solr/home" type="java.lang.String" value="F:\solr\home" override="true" />
</Context>

    docbase是solr的war包的绝对地址,value是solr的运行环境。


     双击tomcat的startup.bat,这是tomcat会报错!

[SetContextPropertiesRule]{Context} Setting property 'debug' to '0' did not find a matching property.
2013-12-26 20:02:57 org.apache.catalina.core.StandardContext startInternal
严重: Error filterStart
2013-12-26 20:02:57 org.apache.catalina.core.StandardContext startInternal
严重: Context [/solr] startup failed due to previous errors


    但是这个日志让人很蛋疼,就报了个错,啥都没有,最狠这种日志了!!


    在tomcat的logs文件夹下面查了下localhost.2013-12-26.log这个日志文件,才找到了问题的症结!

2013-12-26 20:02:57 org.apache.catalina.core.StandardContext filterStart
严重: Exception starting filter SolrRequestFilter
org.apache.solr.common.SolrException: Could not find necessary SLF4j logging jars. If using Jetty, the SLF4j logging jars need to go in the jetty lib/ext directory. For other containers, the corresponding directory should be used. For more information, see: http://wiki.apache.org/solr/SolrLogging
at org.apache.solr.servlet.SolrDispatchFilter.<init>(SolrDispatchFilter.java:111)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)


    这不就是缺jar包嘛!!缺slf4j.jar。果断把F:\solr\solr-4.9.0\example\lib\ext这个路径下的所有slf4j相关的jar包拷进了F:\solr\tomcat7.0.52\webapps\solr\WEB-INF\lib这个文件夹,也就是应用的lib文件夹下。同时把solr包下的F:\solr\solr-4.9.0\example\resources\log4j.properties这个日志文件拷近F:\solr\tomcat7.0.52\webapps\solr\WEB-INF\classes。

java.lang.NoClassDefFoundError: org/apache/log4j/Level(导入log4jjar

java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory(重启)

    重启tomcat!我的solr跑起来了!

wKioL1PZCbTweQf1AAKs0-1uYXc002.jpg

转载:http://blog.csdn.net/bruce128/article/details/17591053


转自:http://caifan.blog.51cto.com/6164271/1532526

相关问答

更多
  • tomcat目录结构、web应用的目录结构及相关应用 tomcat的目录结构 -----简单说 /bin:存放启动和关闭tomcat的脚本文件; /conf:存放tomcat的各种配置文件,比如:server.xml /server/lib:存放tomcat服务器所需要的各种jar文件(jar文件只可被tomcat 服务器访问) /server/webapps:存放tomcat自带的两个web应用:admin应用和manager应用。 /common/lib:存放tomcat服务器以及所有web应用都可以访 ...
  • Tomcat下Solr安装配置 由于Solr基于java开发,因此Solr在windows及Linux都能较好部署使用,但由于Solr提供了一些用于测试及管理、维护较为方便的shell脚本,因此在生产部署时候建议安装在Linux上,测试时候可以在windows使用。 Solr是一个基于Lu...
  • 有可能是由于你的tomcat放置的路径问题.不是路径错误,而是有些路径要求的权限比较高,tomcat启动和部署需要执行tomcat的内部程序,如sh文件.那么来说,你需要对需要启动的文件进行授权,比如chmod +w +r之类的.还要看你的发行版
  • 1.用eclipse中安装Flex builder 插件版,就可以直接创建flex项目,并可以向web项目一样部署到Tomcat下2.如果flex没有与后台交互的话,可以将bin-debug目录下的文件放到tomcat/Webapps/ 你的项目名称/目录下,启动Tomcat就可以访问
  • 同一个Host下是不能布署两个同名工程的 这种情况一般是做两个tomcat,你如果一定要一个tomcat 可以做在server.xml里面做两个host 用不同的域名访问
  • 本篇文章将介绍java+jsp+tomcat+mysql开发环境配置以及jsp如何连接mysql数据库,并且用一个简单的mysqlManager来进行讲解,希望对jsp的出学者能够有所帮助

      软件版本号

      jdk1.5.0_09

      mysql5.0 连接器mysql-connector-java-5.0.4-bin.jar

      Apache Tomcat
    6.0

      默认安装jdk1.5.0_09

      设置环境 ...
  • 在windows操作系统上,Tomcat提供了图形化安装执行文件(install.exe),可以直接从网站上下载这个文件。推荐您使用这种安装方式,安装文件在安装过程中集成设计了许多配置以及于操作系统的集成设置,包括服务设置等操作,可以减少手动配置和设置的过程。如果您已经熟悉此章节,可以跳过此部门。Tomcat支持两种方式的安全操作,图形安装文件和解压缩文件。两种方式的安装结果基本相同,解压缩安装后,在tomcat的bin目录中会多出许多可执行批处理文件,及可配置的属性文件,支持用户手动设置相关启动、运行参数 ...
  • 你会看日志么?在tomcat目录里有个log文件夹,里面有日志文件.out结尾……你这样启动肯定看不到反应,还有就是可以输命令,ps aux|grep java ,看看进程启动了没有。
  • 在配置文件里将 org.apache.pluto.core.PortletServlet 替换成 org.apache.pluto. container.driver.PortletServlet
  • 回答我自己的问题! :) 基本上,为了实现我的目标,我需要做以下事情: 在我的Maven POM文件中包含Solr WAR作为依赖项 将默认的Solr核心和配置( example/collection1/ )解压缩到我项目的子目录(我使用了cores/collection1 ) 在launch -Dsolr.solr.home上添加Java VM参数以指向cores目录( -Dsolr.solr.home=/path/to/my/project/cores ) 它不完全是自包含的(我仍然需要指向一个配置), ...