欧美三区_成人在线免费观看视频_欧美极品少妇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)論
主站蜘蛛池模板: 欧美一级在线观看视频 | 久草在线在线精品观看 | 陈宝莲a毛片在线播放 | 国产福利在线永久视频 | 欧美人成片免费看视频不卡 | 欧美激情精品久久久久久 | 国产欧美日韩精品一区二 | 色婷婷综合久久久中字幕精品久久 | 狠狠av| 午夜精品久久久久久91 | 亚洲精品久久婷婷丁香51 | 久久综合九色综合91 | caoporn视频| 欧美视频在线免费 | 国产精品日日摸夜夜添夜夜av | 51色视频 | 国产婷婷精品av在线 | 日本在线观看视频网站 | 亚洲视频aaa | 亚洲精品久久久久一区二区三 | 久久精品免费视频观看 | 九九视频在线观看 | 毛片资源 | 91中文在线观看 | 美女国产精品 | 日韩欧美在线视频 | 午夜 在线播放 | 一道本不卡视频 | 精东视频污 | 亚洲一区二区在线视频 | 色婷婷导航| 久久精品二区 | 免费视频一区二区 | 91精品久久久久久久久久小网站 | 亚洲视频不卡 | 久久国产婷婷国产香蕉 | a欧美| 亚洲欧美无人区乱码 | 国产视频在线免费观看 | 黄a在线观看 | 一级毛片a级 |