1. 程式人生 > 實用技巧 >solr學習之(九)_用solr的×××eclipse+tomcat開發環境

solr學習之(九)_用solr的×××eclipse+tomcat開發環境

臨近畢業,亂七八糟的事兒糾結在一下,好久都沒有寫部落格了。繼續solr的學習吧。前段時間學習solr都是浮於表面,一直沒能深入solr開發的核心。在企業開發中,由於個性化的需求,一般都是基於solr的二次開發,這樣的話肯定不會用solr的jar包,而是用solr的原始碼。

這次就用eclipse(JAVAEE Indigo)+Tomcat6.0+solr3.5來實踐一次吧。

好在網上有許多的部落格,對此進行了敘述,做起來也沒有那麼難。這裡就把自己部署的過程記錄一下,方便自己以後查閱。

進行下面的工作之前,有如下假設:

一、jdk已經安裝好,並且環境變數已經配置好。

二、tomcat6已經安裝好,並且能跑起。

三、eclipse javaee也安裝好,並且與tomcat6已經整合好了。

第一步:下載solr的原始碼。下載地址

http://archive.apache.org/dist/lucene/solr/3.5.0/apache-solr-3.5.0-src.tgz

第二步:解壓原始碼,我解壓的目錄是

D:\source_code\apache-solr-3.5.0-src\apache-solr-3.5.0,解壓後項目結構的截圖如下:

233606293.png

第三步:安裝antivy

下載apache-ant-1.9.1,下載地址

http://mirror.bjtu.edu.cn/apache//ant/binaries/apache-ant-1.9.1-bin.zip

下載apache-ivy-2.3.0,下載地址

http://apache.etoak.com//ant/ivy/2.3.0/apache-ivy-2.3.0-bin.zip
下載完後把ant解壓到D:\apache-ant-1.9.1,然後配置ant的環境變數:

ANT_HOME=D:\apache-ant-1.9.1

Path=%ANT_HOME%\bin

然後把ivyjarivy-2.3.0.jar複製到%ANT_HOME%\lib目錄下,注意是lib目錄!

D:\source_code\apache-solr-3.5.0-src\apache-solr-3.5.0,即solr的解壓目錄下開啟cmd

shift+滑鼠右鍵

->”在此處開啟命令列視窗),然後執行命令:ant eclipse

這樣的話,solr的原始碼就變成了eclipse的一個專案了。

第四步:開啟eclipse(我的eclipse版本是:Eclipse Java EE IDE for WebDevelopers. Indigo)把solr的原始碼importeclipse中。截圖如下:

233720466.png

實際上剛import後的project是一個普通的eclipse專案,而不是web project。那麼怎麼做呢?參考http://hi.baidu.com/zwjhjmx/item/06d6bd3c9ddba487b611db73Eclipse Java Project 轉換為Dynamic WebProject

1. 修改專案的.project檔案,儲存,不記得是否需要重啟Eclipse了。
<natures>

</natures>

之間新增下列三行配置

<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>

2. Eclipse中開啟“projectproperties",會看到新增了很多選擇項,點中"ProjectFacets",按下圖配置:

233821773.jpg

3. 勾選合適的選項,則專案即可成為一個Dynamic Web Project

這裡需要注意的是org.eclipse.wst.common.project.facet.core.xml檔案裡的

<?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>

而不能是3.0(注意紅色的文字)

第五步:在D:\source_code\apache-solr-3.5.0-src\apache-solr-3.5.0目錄下新建WebContent目錄,然後把D:\source_code\apache-solr-3.5.0-src\apache-solr-3.5.0\solr\webapp下的所有檔案和資料夾copyWebContent中。

D:\source_code\apache-solr-3.5.0-src\apache-solr-3.5.0\solr\example目錄下的solr資料夾copyD:\source_code\apache-solr-3.5.0-src目錄下。

第六步:引入必須的jar包。

把專案依賴的jarcopy出來,copyWebContent\WEB-INF\lib目錄下,如果沒有lib目錄,則自己建立。依賴的jar包還是挺多的,我這裡一個有72個。

第七步:配置solr/home

找到專案的WebContent/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>

-->

我們依樣畫葫蘆,如下配置:

<env-entry>

<env-entry-name>solr/home</env-entry-name>

<env-entry-value>D:/source_code/apache-solr-3.5.0-src/solr</env-entry-value>

<env-entry-type>java.lang.String</env-entry-type>

</env-entry>

第八步:執行Tomcat,看看效果吧!

234034799.png

如果輸入localhost:8080/solr/browse,則發現沒有樣式。怎麼做呢?

234015296.png

找到專案的.settings目錄,然後修改org.eclipse.wst.common.component,把最下面的

<property name="context-root"value="lucene_solr"/>修改為

<propertyname="context-root" value=" solr"/>,然後再重新啟動tomcatOK,一切正常了吧!

234121904.png

轉載於:https://blog.51cto.com/sbp810050504/1212891