solr入门之solr5x源码在eclipse中运行及添加mmseg分词器
Posted 当以乐
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了solr入门之solr5x源码在eclipse中运行及添加mmseg分词器相关的知识,希望对你有一定的参考价值。
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 密码:had7http://www.656463.com/article/EzmaYv.htm 这篇文章可以参考这个是4x系列的 内容比较多
下面上两幅图--
solr项目启动成功
solr项目访问成功
以上是关于solr入门之solr5x源码在eclipse中运行及添加mmseg分词器的主要内容,如果未能解决你的问题,请参考以下文章
solr入门之solr5x源码在eclipse中运行及添加mmseg分词器
ant编译solr源码生成eclipse项目,解决一直resolve,一直[ivy:retrieve]的问题