亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

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

系統 1585 0

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

1.? 準備環境

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 ,同時下載源代碼包和官筆發布程序包的 zip ,分別為 apache-roller-src-4.0.1.zip apache-roller-4.0.1.zip

下載發布程序的原因是源源代碼包里有一些內容和發布包不一致,導致源代碼在 Eclipse 中編譯后在運行時會報錯,因為對源代碼不熟悉,所以還無法定位到錯誤的原因所在。另外一些配置文件只有在它官方的發布包中才有,一會要用到它。

3.? 搭建項目環境

MyEclipse 中新建一個 Web 項目,命名為 roller J2EE 環境選擇 1.4

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

roller-src/apps/weblogger/src/java 目錄下的 org 整個目錄的源文件復制到項目中的 src 里面;

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

roller 默認是使用 MySQL 數據庫,但是 lib 里面缺少 MySQL JDBC 驅動,所以還要自己從網上下載驅動的 jar ,添加到 WEB-INF/lib 中,如果你是使用的其它數據庫,同樣需要手動下載它對應的驅動程序;

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

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

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

roller 還用到了郵件功能,需要把 activation.jar mail.jar 二個 j2ee jar 復制到 tomcat common/lib 目錄下,如果沒有這一步,可能啟動初始化會失敗!導致應用無法正常運行。

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

4.? 修改部分內容

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

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 這個配置后面需要帶上上面編碼的參數,不然安裝的過程可能會出現一些亂碼。修改 url username password 這些,如果你有能正常使用的郵箱服務器,也填上。

創建 MySQL 數據庫,名稱為 rollerdb ,并指定編碼為 UTF-8 。如果你使用的是 root 用戶,則不用授權,如果不是,則需要為用戶授權,下面是一個示例:

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

啟動 roller 的時候它會查詢數據庫是否已經初始完成,如果沒有,它會自動進入安裝頁面,引導用戶進行安裝,做得非常人性化。

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

????

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

下面是最終的基本結構截圖 ( 僅參考 )

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

Src 目錄截圖:

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

5.? 其它補充說明

按照上面的步驟,項目結構就基本上正常搭建了,真是費心費力! NetBeans 下面沒有試過,興許會比這個簡單許多!反正都習慣 Eclipse 了,就都移過,后面再花些時間研讀一下它的源代碼,網上說是非常好的學習例子。

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

??????? src 下面的 dbscripts 是所有數據庫的 SQL 腳本, apache-roller-src-4.0.1.zip 中提供的腳本是不完整的!所以需要使用正式發布包的腳本,它帶了數據庫的初始腳本,由系統自動引導創建,還有許多版本升級的補充腳本。

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

??????? roller-custom.properties 中配置的郵箱主機和用戶名密碼等,如果無法正常連接,它初始化時會報錯,但是不會影響正常啟動,前提是你必須把 activation.jar mail.jar 這二個文件放到 tomcat 里面。

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

??????? 當然,如果你已經包含了 roller-version.properties 文件,這個異常是不會存在的 !

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

??????? Roller Architecture (摘自網絡)

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下搭建

多多學習,愿和大家共同分享! ^_^
?這里打包一個PDF文件提供下載

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


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国内精品久久久久激情影院 | 亚洲国产成人久久一区www妖精 | 亚洲综合在线一区 | 欧美视频www| xxx大片免费视频 | 久热免费在线观看 | 免费毛片在线 | a级无毛片 | 在线观看精品国语偷拍 | 欧美久久视频 | aaaaaa国产毛片孕妇版 | 看一级特黄a大片日本片 | 九九久久99综合一区二区 | 5g国产精品影院天天5g天天爽 | 骚黄视频 | 中文字幕在线观看日韩 | 91成人啪国产啪永久地址 | 久久亚洲精品成人 | 91亚洲精品一区二区福利 | 乱子伦有声小说mp3 仑乱高清在线一级播放 | 99热精品国产三级在线观看 | 国产日韩欧美精品在线 | 欧美日韩北条麻妃一区二区 | 欧美日韩视频在线播放 | 97在线亚洲 | 欧美日韩视频一区二区 | 日本综合在线 | 国产精品一区久久精品 | 日本不卡视频在线观看 | 欧美一级人与动毛片免费播放 | 一七六九1769视频免费观看 | 国产1769一七六九视频在线 | 毛片永久新网址首页 | 欧美成人高清视频 | 欧美日韩高清 | 伊人久久久 | 中日韩一区二区三区 | 精品国产日韩一区三区 | 亚洲免费小视频 | 久久99国产一区二区三区 | 91精品国产亚一区二区三区 |