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文件
在Eclipse中打开“project properties",会看到新增了很多选择项,点中"Project
Facets",选择java 和 Dynamic Web module
(3)在工程目录下的.settings文件夹,org.eclipse.wst.common.project.facet.core.xml里的3.0改成2.5
(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
(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项目启动成功
![](http://img.blog.csdn.net/20160411153449565?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
solr项目访问成功
链接: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项目访问成功
相关文章推荐
- java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathLis。。。
- 二叉树根据前序后序重建
- java代码压缩文件,文件名中中文变为乱码 [
- ubuntu12替换了java,但eclipse仍然提示java版本为1.6,需要更高版本的java
- Java集合框架复习之Collection接口,iterator接口,iterable接口(二)
- 【JAVA设计模式】外观模式(Facade Pattern)
- Java中各种对日期的操作,加日期,减日期
- java反射之-Field
- java 将数字转成百分比 (%)float integer double
- java多线程那些事之二Cyclincbarrier和countdownlatch
- Java学习-4天
- java队列和栈的使用
- Java学习-1天
- Spring transaction事务之roll back回滚
- 使用struts2实现文件下载
- struts2采用convention-plugin实现零配置
- Java正则表达式
- java内存溢出和内存泄露
- SpringMVC常用注解
- eclipse如何查看jar包源码