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,解壓後項目結構的截圖如下:
第三步:安裝ant與ivy。
下載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
然後把ivy的jar包ivy-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+滑鼠右鍵
這樣的話,solr的原始碼就變成了eclipse的一個專案了。
第四步:開啟eclipse(我的eclipse版本是:Eclipse Java EE IDE for WebDevelopers. Indigo)把solr的原始碼import到eclipse中。截圖如下:
實際上剛import後的project是一個普通的eclipse專案,而不是web project。那麼怎麼做呢?參考http://hi.baidu.com/zwjhjmx/item/06d6bd3c9ddba487b611db73(Eclipse 中將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",按下圖配置:
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下的所有檔案和資料夾copy到WebContent中。
把D:\source_code\apache-solr-3.5.0-src\apache-solr-3.5.0\solr\example目錄下的solr資料夾copy到D:\source_code\apache-solr-3.5.0-src目錄下。
第六步:引入必須的jar包。
把專案依賴的jar包copy出來,copy到WebContent\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,看看效果吧!
如果輸入localhost:8080/solr/browse,則發現沒有樣式。怎麼做呢?
找到專案的.settings目錄,然後修改org.eclipse.wst.common.component,把最下面的
<property name="context-root"value="lucene_solr"/>修改為
<propertyname="context-root" value=" solr"/>,然後再重新啟動tomcat,OK,一切正常了吧!
轉載於:https://blog.51cto.com/sbp810050504/1212891