SOLR原始碼在Myeclipse/eclipse下搭建(並在tomcat下完美執行)
Solr原始碼在Myeclipse/eclipse下搭建
(這裡主要講在Myeclipse中文版下搭建
Ps:經過一週時間的研究,終於把solr的原始碼成功的匯入到myeclipse中執行和開發,折騰之後,寫了這篇文章,將點點經驗分享給大家。
1. 下載並按裝Ant
下載地址:
Ant環境變數配置:
ANT_HOME: ant的解壓目錄的l路徑
Path: %ANT_HOME%\bin
在cmd中輸入ant -v, 有下圖結果表示成功安裝
(這裡簡單易安,就不多說)
2. 下載Solr原始碼
下載地址:
下載後的原始碼包字尾為solr-*.*.*-src.tgz
3. 用Ant把Solr原始碼轉換為MyEclipse Web專案
將原始碼解壓,進入Solr原始碼的根目錄
在cmd中輸入ant eclipse, 按回車後你將會看到如下畫面, 如果你的c:\Users\使用者名稱\.ant\lib下沒有ivy jar包的話
此時你按它說的那樣需輸入ant ivy-bootstrap命令下載ivy, 當然你也可以直接吧ivy jar包直接放入c:\Users\使用者名稱\.ant\lib下
下載好後再輸入剛才的ant eclipse命令,回車後你會看到一堆資訊,此時表明ant已經再幫你生成專案了。期間會等一段時間,在這期間也可能會出現fault資訊,而且就是它可能造成你很久都看不到成功生成,在我目前遇到的情況下的解決辦法是,再輸入一遍命令,之後就看你的點了,或者你有更好的解決辦法。(
PS:如果一直生成不成功,可能與你的網路環境有關,這裡大概要執行2h左右。
當你看見如下介面證明你編譯成功了
4. 檢視編譯後的檔案
出現了.classpath和.project檔案
5. 將編譯檔案匯入Myeclipse/eclipse
開啟檔案選擇匯入,然後選擇General 的 現有專案倒入到工作空間
匯入到eclipse,packageexplore 如下:
6. 把Myclipse/eclipse普通專案轉化為web專案
將編譯好的solr工程匯入eclipse,後右鍵點選Properties,選中Project Facets,如圖所示
選擇OK後,就轉換Solr的WEB工程了,這是有些xml檔案會出現錯誤的紅叉叉,這是你安裝的java JDK 版本的原因(這裡推薦用JDK 1.7)
7. 將solr 配置到tomat中
(1) 安裝tomcat,網上教程比較多,自己搜尋安裝就好了。(推薦使用tomcat6或者tomcat7版本)
(2) 將solr在comcat中配置:在tomcat-7.0.53\conf\Catalina\localhost目錄下新建solr.xml檔案,內容如下:<?xmlversion="1.0" encoding="UTF-8"?> <ContextdocBase="${catalina.home}/webapps/solr" debug="0"crossContext="true" > <Environment name="solr/home" type="java.lang.String"value="${catalina.home}/solr" override="true" /> </Context>
將\solr-4.7.2\example目錄下的solr資料夾複製到tomcat-7.0.53目錄下,作為solr的home目錄;
(3) 在我們編譯好的原始碼中新增依賴包。
下載solr的solr-4.7.2.tgz包解壓出來,將解壓的檔案路徑中的so4lr-4.7.2\e22xample\webapps\solr.war的包解壓出來,包的的目錄檔案如下圖
將所有檔案拷貝到我們導進eclipse的工程檔案的\solr\WebRoot目錄中,然後將solr-4.7.2.tgz目錄中的solr-4.7.2\solr-4.7.2\example\lib\ext下的5個包拷貝到工程檔案的\solr\WebRoot\WEB-INF\lib目錄下;再將solr-4.7.2.tgz目錄中的solr-4.7.2\solr-4.7.2\example\resources路徑下的log4j.properties檔案複製到工程檔案的solr\WEB-INF\classes目錄下(classes目錄如果不存在需要您手動建立)。
8. 將solr的工程在tomcat中執行
將solr的工程的屬性開啟,選擇專案構面 web;在Context Root中修改web context-root的值為/solr,然後應用確定。等待構建完成後,刪除solr工程,再重新匯入一次(不這樣做可能會出錯)。
匯入成功後,選著我們安裝的Tomcat和我們安裝的JDK進行編譯執行,無報錯,我們用瀏覽器開啟 http://localhost:8080/solr/admin 出現下面介面:
表示我們已經成功的編譯倒入成功了。
本文參考:
上面的文章都有缺陷,我都沒有正常的執行,自己琢磨後,發表這篇文章。
PS:凡是借鑑和引用本文章,請標註出處。