eclipse环境中调试solr源代码

2019-03-27 01:03|来源: 网路

根据在网上查找的资料总结,eclipse环境中调试solr源代码大体上分为三种方式:

1.用tomcat启动;即run on server

2.run as a java application

3.run on jetty(需要装run-jetty-run插件)

 

1、2、3的配置前面步骤均相似

(1)下载solr4.3源代码,并编译

shift+鼠标右键->”在此处打开命令行窗口),然后运行命令:ant eclipse

(2)将solr4.3 import到eclipse(java EE IDE)

General——existing progects into workplace——指向solr源代码编译完成目录

(3)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中打开“projectproperties",会看到新增了很多选择项,点中"Project Facets",选择java、Dynamic Web module

 (4)在工程目录下的.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)在solr4.3加压目录下(D:\源码包\solr-4.3.0-src\solr-4.3.0)下,新建文件夹webapp(删除原本webapp或WebContent里面的内容)

将solr运行包里面的D:\运行包\solr-4.3.0\dist里面的solr-4.3.0.war解压,并把其中的内容复制到新建的文件夹webapp中

(6)把solrhome复制出来

D:\源码包\solr-4.3.0-src\solr-4.3.0\solr\example\里面的solr复制到D:\源码包\solr-4.3.0-src\solr-4.3.0并重命名为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-4.3.0-src\solr-4.3.0\webapp\WEB-INF\lib

D:\源码包\solr-4.3.0-src\solr-4.3.0\solr\contrib下每个lib文件夹

 

从这里开始配制方法将有不同

1.用tomcat启动;即run on server

网上资料很多,在linux系统下配置没有出现问题,但是在windows下配置总是无法成功,报错无法找到资源,这里暂时搁置

 

2.run as a java application

在项目中加入两个java文件,位置如图

右击StartSolrCloudJetty.java,run as a java application

 

3.run on jetty(需要装run-jetty-run插件)

安装插件方法:http://www.gogogogo.me/development/Eclipse-Jetty-run-jetty-run.html

在run configration中配置,需要browse选择webapp路径,路径正确时才可以run

http://localhost:9983/solr/(Context: /solr决定)

-Dsolr.solr.home=D:\源码包\solr-4.3.0-src\solr-4.3.0\solrhome

 


转自:http://www.cnblogs.com/sunshineKID/p/3445967

相关问答

更多
  • 1. 在Eclipse中,Window->Preferences->Java->Compiler,确保以下选项都勾选上: 2. 在Eclipse中,Window->Preferences->Java->Installed JREs,选择Add,在JRE Home中选择JDK路径(因为只有JDK支持源码调试),并且给它合适的命名。退出保存后,选择JDK路径。3. 右键你的工程项目,Properties,Java Build Path->Libraries,找到JRE System Library,选择Edit ...
  • 你需要先在eclipse创建一个java project,具体步骤就不细说了,相信大家有点基础的应该都可以创建成功的。然后去selenium官网下载selenium client。具体下载位置请看下图: 一般下载的内容都是一个zip包,解压缩后的内容如下: 添加libs目录里的所有jar包和selenium-java-2.39.0.jar, selenium-java-2.39.0-srcs.jar到java project的Build path里去,然后自己创建一个类,里面包含了一段webdriver的简 ...
  • 方法如下: spark 源码编译好了,在linux上压缩出来,再解压后导入到eclipse中,不过eclipse要提前安装scala插件。
  • 试试下面: Menu Option Run -> Debug Configurations -> Java Application Provide required inputs in "main" tab Add source jar file in source tab 按下OK并运行这个新创建的选项进行调试。 如果运行远程,则在调试配置的左侧窗格中选择Remote Java Application 。 Try below: Menu Option Run -> Debug Config ...
  • 似乎personBUS存在的Eclipse project与project不同,这个代码是。 您必须将personBUS项目添加到当前项目的构建路径中。 这可以按如下方式完成: 右键单击项目 - >配置构建路径 - >转到Projects选项卡 - >选择personBUS对象的class所在的项目。 It seems that the Eclipse project where personBUS exists is different from the project, this code is. Yo ...
  • 不知道你是如何导入它的:听起来就像你在寻找Source附件 。 如果直接使用Solr源代码可能会更好。 检查版本中包含的README文件,有一个用于初始化eclipse的ant任务: 设置您的ide运行“蚂蚁eclipse”。 然后,所有依赖项都使用ivy加载,您可以从IDE中运行它。 Without knowing how you imported it exactly: sounds like you are looking for Source attachment. It might be bett ...
  • 问题1:检查在Eclipse中是否根据需要设置或禁用了步骤筛选。 我认为默认情况下,调试器被配置为跨越标准包(“java”,“javax”,...)的方法。 Window > Preferences > Java . Debug > Step filtering 调试器不会进入上述首选项中选择的程序包类中。 问题2:我从来没有编译源代码的需要......并非如此微不足道,因为并不是所有的类都包含在src.zip中(正如我所知)。 列出的错误更像是警告,但也许您需要包含-Xdiags:verbose (如建 ...
  • 通过将调试级别设置为JDK 9的slowdebug来解决该问题 The issue fixed by setting the debug level to slowdebug for the JDK 9
  • 当您进入未编写的代码(即其他dex字节码)时会发生这种情况,因此您需要跨越这些行。 如果抛出异常也会发生这种情况,所以也要小心。 否则,它应该工作得很好。 你遇到了一个特定的问题吗? This will happen when you step into code which you did not write (i.e. other dex bytecode), so you need to step over these lines. This will also happen if an except ...