随笔-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 的二次开发环境就搭好了。

后面我再研究下,如何使得最终发布文件没有class文件,只有roller-business.jar和roller-web.jar两个文件,跟原版一样。

---------------------------------------------------------
专注移动开发

Android, Windows Mobile, iPhone, J2ME, BlackBerry, Symbian
posted on 2008-11-03 00:42 TiGERTiAN 阅读(1992) 评论(5)  编辑  收藏 所属分类: JavaRoller

评论:
# re: Roller 3.1 二次开发环境配置[未登录] 2008-11-03 00:49 | edward
用netbeans导入项目就好了  回复  更多评论
  
# re: Roller 3.1 二次开发环境配置 2008-11-03 09:19 | TiGERTiAN
@edward
恩,不过我们主要都是用Eclipse做开发,所有有点麻烦。。  回复  更多评论
  
# re: Roller 3.1 二次开发环境配置 2008-12-17 03:54 | donneyming
可以问你要一个已经调试好的roller源码么 在myelipse6上面怎么调也不行
郁闷了 邮箱:caodzkd@126.com  回复  更多评论
  
# re: Roller 3.1 二次开发环境配置 2009-02-20 21:14 | jiahua
可以给我发一个已经调试好的roller源码么 我在myelipse6上面怎么调也不行
邮箱:message-cross@163.com 谢谢啦  回复  更多评论
  
# re: Roller 3.1 二次开发环境配置 2009-02-20 21:22 | TiGERTiAN
@jia
已经有项目上面的东西添加在上面了,不方便向外发,你只要按照上面的步骤配置下就好了,我有同学就是按照上面步骤配置的,配置完就可以用了。。  回复  更多评论
  

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


网站导航: