♣下载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. js_6_dom选择

    什么是dom编程? 找 找到html中的标签,赋值给一个变量 改 通过更改这个变量动态地更改html中的内容 返回的内容为列表 如何找到那些标签? id:var find = document.get ...

  2. python_18_反射

    什么是反射? -- 通过输入字符串来获取和修改 类(属性+方法),用字符串来映射内存对象,用于人机交互 反射有哪几种方法? -- getattr()                   --获取字符串 ...

  3. JS的for循环小例子

    1.输出1-100的和 var sum = 0; for(var i=1;i<=100;i++){ sum = sum + i; } document.write(sum); 2.输出1-100 ...

  4. Linux指令--/etc/group文件

    Linux /etc/group文件与/etc/passwd和/etc/shadow文件都是有关于系统管理员对用户和用户组管理时相关的文件.linux /etc/group文件是有关于系统管理员对用户 ...

  5. 在nagios中监控windows主机系统地址的状态

    原来的[root@nhserver2_5 objects]# cd /usr/local/nagios/etc/objects[root@nhserver2_5 objects]# vim comma ...

  6. Shell脚本小技巧收集

    1.使用python快速搭建一个web服务器 访问端口8000 python -m SimpleHTTPServer 2.获取文件大小 stat -c %s $file stat --printf=' ...

  7. 【转】Awk 命令学习总结、AWk命令系列学习(linux shell)

    前面的话 学习linux 的同人,都知道linux shell文本处理能力非常强大.有一组强大的文本处理工具:grep,sed,awk . 其中grep 经常用作查找匹配文本.sed用作文本编辑替换. ...

  8. Docker最佳实践-部署LNMP环境

    标签(linux): docker 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 环境准备 [root@docker ~]# cat /etc/redhat-r ...

  9. C#基础(五)--枚举的含义及其应用

    本章讲解如下枚举的如下几个知识点:    1.什么是枚举?    2.枚举是值类型还是引用类型?    3.如何定义枚举?    4.枚举的好处?    5.枚举在实际系统开发过程中的用处?    一 ...

  10. 基于线程池的线程管理(BlockingQueue生产者消费者方式)实例

    1.线程池管理类: public class ThreadPoolManager { private static ThreadPoolManager instance = new ThreadPoo ...