随笔-348  评论-598  文章-0  trackbacks-0
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.blogjava.net/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 阅读(1523) 评论(2)  编辑  收藏 所属分类: JavaRoller

评论:
# re: 【第二版】Roller 3.1二次开发工程配置(添加了常见问题解决及详细步骤) 2009-02-24 16:17 | 亚亚
roller只是安装好了,想做二次开发,可是发现很多问题,能否跟您讨教一下,万分感谢。  回复  更多评论
  
# re: 【第二版】Roller 3.1二次开发工程配置(添加了常见问题解决及详细步骤) 2009-02-24 16:18 | 亚亚
忘了留联系方法:qq 405359 email:jetaime76@163.com  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: