♣下载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. Linux指令--ln

    ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接.当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在 ...

  2. springMVC中@RequestParam和@RequestBody注解的用法

    springMVC中@RequestParam注解用在Controller层获解析.提取参数,当然你也可以用request.getParameter("name")来获取参数,而@ ...

  3. ios中pch文件的创建与配置

     PCH文件(Precompile Prefix Header File),也就是预编译头文件,其作用就是,方便你一次性导入在多个文件中同时用到的头文件.宏或者URL地址等(全局使用),可以有效的帮你 ...

  4. win10下端口被占用解决办法

    调试socket通信的时候,如果程序未正常结束,重新启动会报端口被占用的错误. 一 查找被占用的端口 解决办法如下:按win+R输入cmd打开控制台,输入 netstat -ano|findstr 8 ...

  5. [PHP]PDO占位符预处理在 IN 和 LIKE 中用法

    两点注意项: 1. 占位符 (?) 必须被用在整个值的位置,不需要引号等其它字符. 2. 参数按数组元素顺序依次传递给占位符. <?php /** * PDO基于占位符的查询预处理 * * @l ...

  6. File类中的list和listFiles方法

    File类中的list和listFiles方法 list()方法是返回某个目录下的所有文件和目录的文件名,返回的是String数组 listFiles()方法是返回某个目录下所有文件和目录的绝对路径, ...

  7. python绘制图形(Turtle模块)

    用python的Turtle模块可以绘制很多精美的图形,下面简单介绍一下使用方法. 需要用到的工具有python,python 的安装这里就不再细说.自行搜索. from turtle import ...

  8. sap中Excel的模版上传和下载

    一:事物码smw0 二:上传步骤 注:"包"为项目的包的名称. 三:下载代码 l_filename = 'XX.xls'. l_muban = 'z123'. *&---下 ...

  9. 结合Nginx以cgi方式安装php5.5.4

    新建用户及用户组 groupadd webuser useradd -g webuser webuser 下载php-5.5 下载链接:http://pan.baidu.com/s/1i3CBshv ...

  10. js调DLL类库中的方法实现(非com组件形式)

    1.首先,创建一个Web空项目 2.添加一个html或aspx页面 3.页面代码如所示: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tr ...