♣下载solr安装包

♣安装solr

♣solr应用部署到tomcat下

♣配置web.xml

♣在tomcat7启动

♣改为在tomcat8启动

♣在自带的Jetty里启动

♣建立第一个Core


安装环境:

 1.下载.  SOLR下载地址:http://archive.apache.org/dist/lucene/solr/

官网:http://lucene.apache.org/solr/

 2.安装solr

2.1  建立solrHome文件夹,路径随意,我的路径是E:/javaEdit/solrHome

2.2  在solrHome中新建文件夹solrCore:

2.3  从solr-6.5.1/server/solr下的把下面三个文件copy到solrHome中,如下图:

 2.4将solr-6.5.1\server\solr\configsets\basic_configs下的conf文件夹copy到solrCore中,如下图

3.solr应用部署到tomcat下

3.1  在Tomcat文件夹webapps下,建立一个目录:

 拷贝Solr下面的server\solr-webapp\webapp里的所有文件到新建的目录下:

3.2添加需要的扩展依赖包

3.2.1从\solr-6.5.1\server\lib\ext下将所有的jar包复制到tomcat的webapps下的solr项目的lib目录中

3.2.2复制\solr-6.5.1\solr-6.5.1\server\lib下的metrics-先关的jar包到webapps下的solr项目中

3.3添加log4j的配置文件

   从\solr-6.5.1\server\resources下将log4j配置文件复制到tomcat的webapps下的classes文件夹中,classes文件夹没有则新建一个

4.配置web.xml

配置web.xml指定solrHome的位置

打开apache-tomcat-7.0.70\webapps\solr\WEB-INF\web.xml

增加如下节点:

    <env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>E:/javaEdit/solrHome</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>

5.启动tomcat7

浏览器中输入: http://localhost/solr/index.html

若出现403的错误,修改solr项目中的web.xml,将169行左右的security-constraint代码注释掉

若出现错误:java.lang.NoSuchMethodError: javax.servlet.ServletInputStream.isFinished()Z

是tomcat7的lib下的servlet-api.jar下没有该方法。

由于solr5.5.0及其以上版本部署在tomcat7下的时候,会报

    Java.lang.NoSuchMethodError: javax.servlet.ServletInputStream.isFinished()Z的错误,这个是serverlet3.1才有的方法
    最终搭配:solr5.5及其以上+tomcat8
                  solr5.4及其以下+tomcat7
    所以,只能换tomcat8或者降solr版本到5.5以下了。

改为在tomcat8下测试,注意换tomcat的时候要在环境变量里的CATALINA_BASE和CATALINA_HOME

重启tomcat,浏览器中输入: http://localhost/solr/index.html ,可以看到solr界面,说明solr已经配置成功:

 6.建立第一个Core

   进入solr管理页面,点击左侧的core admin,然后点击add core,在name 和instanceDir下都输入solrCore,点击add core即可

进入到solrHome/solrCore目录,此时会发现多了一个data文件夹和一个properties文件,如图

solr界面, 在左侧即可看见刚刚建立的core

集成 solr6.5.1到 tomcat7(8) 中 (解决java.lang.NoSuchMethodError问题)的更多相关文章

  1. CDH下集成spark2.2.0与kafka(四十一):在spark+kafka流处理程序中抛出错误java.lang.NoSuchMethodError: org.apache.kafka.clients.consumer.KafkaConsumer.subscribe(Ljava/util/Collection;)V

    错误信息 19/01/15 19:36:40 WARN consumer.ConsumerConfig: The configuration max.poll.records = 1 was supp ...

  2. tomcat7 启动项目报错 java.lang.NoSuchMethodError: javax.servlet.ServletContext.getSessionCookieConfig()

    JDK版本:jdk1.8.0_77 Tomcat 版本:apache-tomcat-7.0.47 异常重现步骤: 1.完成项目部署 2.启动Tomcat 异常头部信息:java.lang.NoSuch ...

  3. Cloudera集群中提交Spark任务出现java.lang.NoSuchMethodError: org.apache.hadoop.hbase.HTableDescriptor.addFamily错误解决

    Cloudera及相关的组件版本 Cloudera: 5.7.0 Hbase: 1.20 Hadoop: 2.6.0 ZooKeeper: 3.4.5 就算是引用了相应的组件依赖,依然是报一样的错误! ...

  4. myeclipse中解决 java heap space/gc overhead limit exceeded eclipse 的方法

    在Eclipse打包的时候报错:gc overhead limit exceeded eclipse 原因是Eclipse默认配置内存太小须要更改安装Eclipse目录下的eclipse.ini文件. ...

  5. Java程序中使用Spire Jar包报java.lang.NoSuchMethodError类型错误的解决方法

    Jar包功能概述 使用Spire系列的Jar包可以操作Word.Excel.PPT.PDF.Barcode等格式的文件,分别对应使用的jar包是Spire.Doc for Java.Spire.XLS ...

  6. android 4.0 中出错 java.lang.UnsupportedOperationException

    在android4.0中  画图的时候使用: canvas.clipPath(path, Region.Op.XOR); 报错 java.lang.UnsupportedOperationExcept ...

  7. Java中的java.lang.Class API 详解

    且将新火试新茶,诗酒趁年华. 概述 Class是一个位于java.lang包下面的一个类,在Java中每个类实例都有对应的Class对象.类对象是由Java虚拟机(JVM)自动构造的. Class类的 ...

  8. idea/ecipse中使用maven集成springmvc相关jar包时候,出错:java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet

    参考stackoverflow:https://stackoverflow.com/questions/11227395/java-lang-classnotfoundexception-org-sp ...

  9. java编程中的Java.Lang.Math类

    1. Math.PI  :表示的是圆周率常量: 2.Math.E    :表示的是普通常量(e): 3.abs()方法: 表示取绝对值 eg1: int x = Math.abs(50L);     ...

随机推荐

  1. 【javaweb学习笔记】WEB01_HTML

    案例一:网站信息显示页面1.什么是HTML?(Hyper Text Markup Language:超文本标记语言) 超文本:功能比普通文本更加强大 标记语言:使用一组标签对内容进行描述的一门语言(它 ...

  2. 数据访问(DAO)

    那些年,到处刮起了业务处理分层的大风,无论何时何地,都有某MVC框架.Spring管理的Service.以及iBatis和Hibernate等代表的DAO,SSH.SSI等成了标准.然而,我们仔细研究 ...

  3. 创建md5摘要,规则是:按参数名称a-z排序,遇到空值的参数不参加签名。

    /** * 创建md5摘要,规则是:按参数名称a-z排序,遇到空值的参数不参加签名. */ private function createSign($parameters,$key) { $signP ...

  4. MySQL中判断日期间隔的方法

    MySQL中查询一定时间间隔内的数据的方法比较常用,可以使用TO_DAYS.DATE_SUB等函数来实现. TO_DAYS函数的作用是返回指定日期从0年开始计算的天数. DATE_SUB函数的作用是通 ...

  5. JSP -java service pages

    jsp的运行机制: 1客户端(请求jsp页面)------->JSP页面(转换为java源文件)------->Selvet文件(.java) (编译成相应的字节码文件也就是后缀名是.cl ...

  6. Docker for Web Developers目录

    在OpenStack在私有云占主导定位之后,后起之秀Docker在PaaS平台.CI/CD.微服务领域展露锋芒.作为Web Developers,我们有必要学习和掌握这门技术. 1. 运行第一个Doc ...

  7. PHP如何读取json数据

    1的 <?php $json = '{"a":1,"b":2,"c":3,"d":4,"e": ...

  8. awk打印第n个参数到最后一个技巧/将n行组成一列

    打印第n参数到最后一个参数 文本的NF不等,即字段长度不固定,想截取从$3到$NF 第一反应是使用循环 [root@localhost ~]# echo "1 2 3 4 5" | ...

  9. VBA小技巧

    运用VBA时,可以构造一些函数去实现诸如printf的方便函数. Public Function printf(mask As String, ParamArray tokens()) As Stri ...

  10. 下载vlc遭遇网络劫持

    一次偶然的机遇,在公司下载"vlc播放器",下载之后安装完就变成了"搜狗手机助手".而且连续几次下载都是这样,我以为是我安装了搜狗输入法的缘故.        ...