您的位置:首页 > 编程语言 > Java开发

solr入门之solr5x源码在eclipse中运行及添加mmseg分词器

2016-04-11 15:38 585 查看
1.下载ant,解压后设置环境变量

链接:http://pan.baidu.com/s/1eRZJIuQ 密码:9452

Ant环境变量配置:

ANT_HOME: E:\Program Files\apache-ant-1.9.0

Path: %ANT_HOME%\bin

设置完成后 打开命令行 输入
ant -version
显示版本信息则配置成功

2.下载solr-5.1.0的jar和源码包

链接:http://pan.baidu.com/s/1qY69uEw 密码:hzff

进入到源码包根目录下,运行如下命令
ant
成功后运行如下命令将 源码包变为eclipse可运行项目
ant eclipse

3.将solr项目导入eclipse中

(1)将solr4.3 import到eclipse(java EE IDE)
General——existing progects into workplace——指向solr源代码编译完成目录
(2)将Java Project 转换为Dynamic
WebProject
修改solr4.3项目下的.project文件

<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
</natures>


在Eclipse中打开“project properties",会看到新增了很多选择项,点中"Project
Facets",选择java 和 Dynamic Web module
(3)在工程目录下的.settings文件夹,org.eclipse.wst.common.project.facet.core.xml里的3.0改成2.5

<?xmlversion="1.0"encoding="UTF-8"?><faceted-project><fixedfacet="wst.jsdt.web"/><installedfacet="java"version="1.6"/><installed facet="jst.web"version="2.5"/><installedfacet="wst.jsdt.web"version="1.0"/></faceted-project>


(5)在solr目录下(D:\源码包\solr)下,新建文件夹WebContent(删除原本webapp或WebContent里面的内容)
将solr运行包里面的D:\运行包\solr\dist里面的solr.war解压,并把其中的内容复制到新建的文件夹WebContent中
(6)把solrhome复制出来
D:\源码包\solr\solr\example\里面的solr复制到D:\源码包\solr\solr并重命名为solrhome
(7)配置solr/home
找到项目的webapp/WEB-INF/web.xml

<env-entry><env-entry-name>solr/home</env-entry-name><env-entry-value>/put/your/solr/home/here</env-entry-value><env-entry-type>java.lang.String</env-entry-type></env-entry>


(8)引入必须的jar包
D:\源码包\solr\webapp\WEB-INF\lib
D:\源码包\solr\contrib下每个lib文件夹

出现的问题---日志包的问题,一直提示日志包中的类找不到

严重: Exception starting filter SolrRequestFilter
java.lang.NoClassDefFoundError: Failed to initialize Apache Solr: 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.CheckLoggingConfiguration.check(CheckLoggingConfiguration.java:28)
at org.apache.solr.servlet.BaseSolrFilter.<clinit>(BaseSolrFilter.java:31)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at java.lang.Class.newInstance(Class.java:379)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:140)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:258)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4809)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5485)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)

需要导入几个jar包来解决错误

  1、添加一个slf4j-nop-1.6.0.jar包
  2、把slf4j-api-1.5.2.jar 换成 slf4j-api-1.6.0.jar
3. 加载 common-logging.jar
三个jar包都修改完毕,直接在tomcat中运行即可启动solr源码war项目

下面是我调试之后可以运行的solr源码war项目,只需要将solrhome换成你的地址就可以
运行了.
链接:http://pan.baidu.com/s/1bXkk9K 密码:72uf

上面的包中已经添加了mmseg分词器的相关jar包 不过要在tomcat中运行还要在
添加一个jar包,地址如下
链接:http://pan.baidu.com/s/1eR9v3u6 密码:had7

http://www.656463.com/article/EzmaYv.htm 这篇文章可以参考这个是4x系列的 内容比较多

下面上两幅图--

solr项目启动成功



solr项目访问成功

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: