欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

博客(Blog)-Roller Weblogger ,MeEclipse下搭

系統(tǒng) 1676 0

都說 roller 在國外是二次開發(fā)博客系統(tǒng)的首選,但是下載源代碼之后發(fā)現(xiàn)是它是基于 netbeans 項(xiàng)目結(jié)構(gòu)開發(fā)的。平時(shí)用習(xí)慣了 Eclipse ,所以想搬到 MyEclipse 上面,但沒有想到居然那么不容易,折騰了整整一天,才最終跑起來。網(wǎng)上的參考信息太少,大概都是那二三篇的轉(zhuǎn)貼,全部結(jié)合起來就差不多可以解決,借此總結(jié)一下,希望用到的朋友有參考作用!

1.? 準(zhǔn)備環(huán)境

MyEclipse ?6.0

JDK ??????1.6.0_05

Tomcat ????5.5.27 (建議用 5.5 以上版本)

Roller???? ?4.0.1

2.? 下載 Roller

Roller 的主頁 http://roller.apache.org/ 下載最新的 roller 版本,目前是 4.0.1 ,同時(shí)下載源代碼包和官筆發(fā)布程序包的 zip ,分別為 apache-roller-src-4.0.1.zip apache-roller-4.0.1.zip

下載發(fā)布程序的原因是源源代碼包里有一些內(nèi)容和發(fā)布包不一致,導(dǎo)致源代碼在 Eclipse 中編譯后在運(yùn)行時(shí)會(huì)報(bào)錯(cuò),因?yàn)閷?duì)源代碼不熟悉,所以還無法定位到錯(cuò)誤的原因所在。另外一些配置文件只有在它官方的發(fā)布包中才有,一會(huì)要用到它。

3.? 搭建項(xiàng)目環(huán)境

MyEclipse 中新建一個(gè) Web 項(xiàng)目,命名為 roller J2EE 環(huán)境選擇 1.4

解壓縮 roller 的二個(gè)包,為了說明的方便,我們把 apache-roller-src-4.0.1.zip 的解壓縮后目錄叫做 roller-src ,把 apache-roller-4.0.1.zip 的解壓縮后目錄叫做 roller-bin

roller-src/apps/weblogger/src/java 目錄下的 org 整個(gè)目錄的源文件復(fù)制到項(xiàng)目中的 src 里面;

lib 中添加 jar 文件。二種方法,可以從 roller-src 中的 tools 目錄中逐個(gè)目錄地把所有的 jar 文件拷貝出來,為了簡單起見,還是從它的發(fā)布程序中直接拿更方便,從 roller-bin 中的 WEB-INF/lib 下面的所有 jar 都復(fù)制出來,放到我們的項(xiàng)目中的 lib 中去;

roller 默認(rèn)是使用 MySQL 數(shù)據(jù)庫,但是 lib 里面缺少 MySQL JDBC 驅(qū)動(dòng),所以還要自己從網(wǎng)上下載驅(qū)動(dòng)的 jar ,添加到 WEB-INF/lib 中,如果你是使用的其它數(shù)據(jù)庫,同樣需要手動(dòng)下載它對(duì)應(yīng)的驅(qū)動(dòng)程序;

roller-bin 中復(fù)制除了 WEB-INF 目錄以外的所有文件,粘貼到我們項(xiàng)目中的 WebRoot 下面,這些是頁面文件和一些資源文件;

復(fù)制 roller-bin 中的 WEB-INF 目錄下除了 classes 外的所有文件到我們項(xiàng)目中的 WEB-INF 目錄下,覆蓋掉默認(rèn)的 web.xml ,你還可以發(fā)現(xiàn)它的一些 jsp 文件是放在 WEB-INF 下面的,起到很好的保護(hù)作用, roller 是基于 struts2 開發(fā)的;

roller-bin 中的 WEB-INF/classes 目錄中,復(fù)制除了 org 目錄外的所有文件,到我們項(xiàng)目中的 src 里面,這些是系統(tǒng)的配置文件,包括了國際化資源、 struts 配置、 log 配置、數(shù)據(jù)庫腳本等等。

roller 還用到了郵件功能,需要把 activation.jar mail.jar 二個(gè) j2ee jar 復(fù)制到 tomcat common/lib 目錄下,如果沒有這一步,可能啟動(dòng)初始化會(huì)失敗!導(dǎo)致應(yīng)用無法正常運(yùn)行。

到這里,所有的文件就已經(jīng)全部搬到 MyEclipse 上面了,接下來要修改一些內(nèi)容使用我們的項(xiàng)目能正常部署。

4.? 修改部分內(nèi)容

在我們項(xiàng)目的 src 中新建一個(gè)名稱為 roller-custom.properties 的文件, roller 采用這個(gè)擴(kuò)展配置現(xiàn)覆蓋系統(tǒng)的默認(rèn)配置。網(wǎng)上有些說要把這個(gè)文件放到 tomcat common/classes 中,其實(shí)不用的,只要放在 classpath 中能找到就行了,所以我們把它放在我們的 src 目錄下面,方便修改,在該文件中添加如下內(nèi)容:

installation.type=auto
database.configurationType=jdbc
database.jdbc.driverClass=com.mysql.jdbc.Driver
database.jdbc.connectionURL=jdbc:mysql://localhost:3306/rollerdb?autoReconnect=true&useUnicode=true&characterEncoding=utf-8&mysqlEncoding=utf8
database.jdbc.username=scott
database.jdbc.password=tiger
mail.configurationType=properties
mail.hostname=smtp-server.example.com
mail.username=scott
mail.password=tiger

注意 database.jdbc.connectionURL 這個(gè)配置后面需要帶上上面編碼的參數(shù),不然安裝的過程可能會(huì)出現(xiàn)一些亂碼。修改 url username password 這些,如果你有能正常使用的郵箱服務(wù)器,也填上。

創(chuàng)建 MySQL 數(shù)據(jù)庫,名稱為 rollerdb ,并指定編碼為 UTF-8 。如果你使用的是 root 用戶,則不用授權(quán),如果不是,則需要為用戶授權(quán),下面是一個(gè)示例:

???? 博客(Blog)-Roller Weblogger ,MeEclipse下搭建

啟動(dòng) roller 的時(shí)候它會(huì)查詢數(shù)據(jù)庫是否已經(jīng)初始完成,如果沒有,它會(huì)自動(dòng)進(jìn)入安裝頁面,引導(dǎo)用戶進(jìn)行安裝,做得非常人性化。

修改部分源代碼。 org.apache.roller.weblogger 包里面的 pojos 包是有問題的!剛開始的時(shí)候老是無法啟動(dòng),報(bào)錯(cuò)提示的是 JPA 的一個(gè)異常,根本不知道如何解決,后來在 CSDN 上找到一篇文章,說是 pojos 這個(gè)包的源碼有問題,可能跟發(fā)布包中的版本不一致,所以需要用變態(tài)一點(diǎn)的處理辦法。

????

在我們的項(xiàng)目 WEB-INF/lib 中,找到 roller-business.jar roller-web.jar (如上圖所示),這二個(gè) jar 其實(shí)就是我們 src 中的所有 java 文件的編譯打包,為了不重復(fù),先把 roller-web.jar 刪除掉,然后用 winrar 打開 roller-business.jar ,刪除 pojos 以外的其它四個(gè)包和那個(gè) WebloggerException.class 。這樣,其它代碼可以正常編譯!

下面是最終的基本結(jié)構(gòu)截圖 ( 僅參考 )

WeRoot 目錄截圖
???? 博客(Blog)-Roller Weblogger ,MeEclipse下搭建

Src 目錄截圖:

???? 博客(Blog)-Roller Weblogger ,MeEclipse下搭建

5.? 其它補(bǔ)充說明

按照上面的步驟,項(xiàng)目結(jié)構(gòu)就基本上正常搭建了,真是費(fèi)心費(fèi)力! NetBeans 下面沒有試過,興許會(huì)比這個(gè)簡單許多!反正都習(xí)慣 Eclipse 了,就都移過,后面再花些時(shí)間研讀一下它的源代碼,網(wǎng)上說是非常好的學(xué)習(xí)例子。

??????? Roller 的系統(tǒng)全局配置文件是放在 org.apache.roller.weblogger. org.apache.roller.weblogger.config 包中的 roller.properties 中的。在這里能找到各項(xiàng)系統(tǒng)的配置,我們自己手動(dòng)創(chuàng)建的 roller-custom.properties 是用來覆蓋一些常用屬性的。

??????? src 下面的 dbscripts 是所有數(shù)據(jù)庫的 SQL 腳本, apache-roller-src-4.0.1.zip 中提供的腳本是不完整的!所以需要使用正式發(fā)布包的腳本,它帶了數(shù)據(jù)庫的初始腳本,由系統(tǒng)自動(dòng)引導(dǎo)創(chuàng)建,還有許多版本升級(jí)的補(bǔ)充腳本。

??????? 默認(rèn)的 log 配置是用文件形式,保存在 tomcat 的的 logs 目錄中,名稱為 roller.log 的,如果你啟動(dòng)的過程遇到問題,請(qǐng)到這里去查看啟動(dòng)日志,分析一下異常的原因。

??????? roller-custom.properties 中配置的郵箱主機(jī)和用戶名密碼等,如果無法正常連接,它初始化時(shí)會(huì)報(bào)錯(cuò),但是不會(huì)影響正常啟動(dòng),前提是你必須把 activation.jar mail.jar 這二個(gè)文件放到 tomcat 里面。

??????? 在調(diào)試的過程中發(fā)現(xiàn) org.apache.roller.weblogger.business.WebloggerImpl 類的創(chuàng)建方法中有加載 roller-verion.properties ,但是在我們的 src 中沒有找到這個(gè)文件,原來是在 roller-business.jar 中包含了。好像另一個(gè)類也包含這一句啟動(dòng)的初始代碼,如果找不到這個(gè)類,會(huì)拋出空指針 Exception ,同樣導(dǎo)致整個(gè)應(yīng)用啟動(dòng)失敗。所以剛開始的時(shí)候生硬地在 WebloggerImpl 類中 115 行加載了一段異常處理代碼如下:
???? 博客(Blog)-Roller Weblogger ,MeEclipse下搭建

??????? 當(dāng)然,如果你已經(jīng)包含了 roller-version.properties 文件,這個(gè)異常是不會(huì)存在的 !

??????? Roller 的文檔非常齊全,圖文并茂,多多閱讀,就可以了解它的使用方法。 IBM 開發(fā)者論壇就是基于它進(jìn)行開發(fā)的,的確非常強(qiáng)大,想了解 struts2 JPA Spring Acegi Velocity 等主流技術(shù)的都可以從這里找到示例,不過要多花些時(shí)間,從其它方面,比如結(jié)構(gòu)劃分、代碼規(guī)范、 theme 切換等,都可以學(xué)習(xí)到很多東西。

??????? Roller Architecture (摘自網(wǎng)絡(luò))

Roller Web Web and UI Layer

???? Editor UI via Struts and JSP blog and feed rendering via Velocity

???? Feed parsing via ROME, Blogger API via Apache XML-RPC

Roller Beans Business and Persistence Layer

???? Hibernate/JPA for DBMS Lucene for search

博客(Blog)-Roller Weblogger ,MeEclipse下搭建

多多學(xué)習(xí),愿和大家共同分享! ^_^
?這里打包一個(gè)PDF文件提供下載

博客(Blog)-Roller Weblogger ,MeEclipse下搭建


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 香蕉视频黄色 | 亚洲午夜无码毛片AV久久 | 免费观看的av | 国产精品久久久久久吹潮 | 狠狠做深爱婷婷久久一区 | 国产精品99久久久久 | 久久久久欧美精品网站 | 国产精品伊人 | 欧美成人欧美激情欧美风情 | 日韩深夜福利 | 性开放的欧美大片按摩 | 西西人体大胆77777视频 | 青青草国产精品欧美成人 | 国产在线观看免费 | 999热视频| 春色www在线视频观看 | 欧美国产日韩在线 | 久久久久亚洲视频 | 性做久久久 | 精品久久久久久久久久久久 | 一区二区中文字幕 | 国产综合久久 | 久久er视频 | 国产精品久久久一区二区三区 | 日韩免费视频 | 牛票票全部晒票 | 精品午夜久久网成年网 | 日韩啊啊啊 | 999国产视频 | 国产一区二区三区在线看片 | 在线播放一区二区三区 | 亚洲片在线观看 | 美女91| 有码在线| 小猪视频无限次数 | 亚洲字幕在线观看 | 波多野结衣全部系列在线观看 | 久久99热这里只频精品6中文字幕 | 精品欧美乱码久久久久久1区2区 | 欧美色性| 波多野衣结在线精品二区 |