1.下載roller 3.1的源代碼和
required jars(一定要下載,否則沒有辦法編譯和運行)
required jars :
https://roller.dev.java.net/servlets/ProjectDocumentList?folderID=6962&expandFolder=6962&folderID=6959
2.然后在命令行中源代碼的目錄下面執行build all命令。
如果你的JDK環境大于1.4了,雖然可以調整兼容等級,但還是建議你使用JDK1.4,為了不改變你的原始JDK環境,可以在build.bat中加入
set JAVA_HOME=D:\j2sdk1.4.2_17\
set PATH=%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
set CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
來臨時設置新jdk
3.build all過后,首先,他會生成所有的wrapper類等等,將生成的所有的類源文件(src下的)拷貝到roller源代碼根目錄src目錄中,webapp中的內容拷貝到根目錄下web中,在compile目錄下的business\org\apache\roller\pojos\和business\org\apache\roller\planet\pojos\中有很多hbm.xml需要拷貝到源代碼同樣的目錄中,還有就是將classes下的所有文件拷貝到roller的src根目錄下。
其次,如果你需要覆蓋一些屬性,例如數據庫連接配置等等,需要在src下建立一個roller-custom.properties文件,放入一些你要覆蓋的配置項,例如我要連接SQL Server數據庫,則這樣配置
hibernate.dialect=org.hibernate.dialect.SQLServerDialect
jdbc.driverClass=com.microsoft.jdbc.sqlserver.SQLServerDriver
jdbc.connectionURL=jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=roller31;User=sa;Password=
jdbc.username=sa
jdbc.password=
當然,不要忘了把相關jar包放進去。
其他配置請參考Install Guide
4.下面是建立數據庫,如果你使用的SQL Server,建議你將rollerdb腳本中的text類型字段,全部改為ntext,因為SQL Server jdbc的驅動對text的支持存在bug...會有問題的。
如果你使用的tomcat 5.x,請去下載一個兼容包,用來兼容在JDK 1.4上的運行,默認配置下只可以在jdk 1.5上穩定運行。
5.建立一個Web Project,將roller3.1/src中所有文件拷貝到項目的src中,將roller3.1/web中的所有內容拷貝到項目webroot中,去掉WEB-INF目錄下面lib目錄中的roller-business.jar和roller-web.jar兩個文件,將其他文件添加到build path中。
注意:
如果你是直接部署方式,碰到用戶正確注冊,但每次登陸都提示用戶名密碼錯誤(Wrong username and password combination),請修改security.xml,源代碼段修改如下部分:
<bean id="jdbcAuthenticationDao" class="org.acegisecurity.userdetails.jdbc.JdbcDaoImpl">
<property name="dataSource">
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>net.sourceforge.jtds.jdbc.Driver</value>
</property>
<property name="url">
<value>jdbc:jtds:sqlserver://127.0.0.1:1433;DatabaseName=roller31;User=sa;Password=</value>
</property>
<property name="username">
<value>sa</value>
</property>
<property name="password">
<value></value>
</property>
</bean>
</property>
<property name="usersByUsernameQuery">
<value>SELECT username,passphrase,isenabled FROM rolleruser WHERE username = ?</value>
</property>
<property name="authoritiesByUsernameQuery">
<value>SELECT username,rolename FROM userrole WHERE username = ?</value>
</property>
</bean>
將數據源添加上去,因為我發現3.1中的設定jdbc.XX只會對roller主程序有效,對acegi無效,但是如果你是通過配置tomcat來加載的就不需要,這種情況只會發生在直接部署上面。
如果你碰到了ResultSet can not re-read row data for column 1問題,請參考:
http://www.tkk7.com/TiGERTiAN/archive/2008/11/16/240794.html
至此,roller 3.1 的二次開發環境就搭好了。
等項目完成的差不多了,我會把3.1和4.0的中文國際化文件發布出來,方便大家使用。
---------------------------------------------------------
專注移動開發
Android, Windows Mobile, iPhone, J2ME, BlackBerry, Symbian
posted on 2008-11-16 13:03
TiGERTiAN 閱讀(1535)
評論(2) 編輯 收藏 所屬分類:
Java 、
Roller