1、
				
				
				解压
				liferay-portal-src-4.4.1.rar
				、
				SpagoBI-src-1.9.4.rar
				、
				liferay-portal-tomcat-5.5-jdk5-4.4.1.rar
				三个
				rar
				包到
				workspace
				目录下
		
		
				
				
						2、
				
				
				打开
				eclipse
				,导入
				liferay-portal-src-4.4.1
				和
				SpagoBI-src-1.9.4
		
		
				
				
						3、
				
				
				加入
				maven
				依赖
		
		
				
				
						4、
				
				
				在
				eclipse
				中修改
				SpagoBI-src-1.9.4\LiferayPortalSecurityProvider\pom.xml
				中的
		
		
				<
				dependency
				>
				
						
						
				
		
		
				
						      
				
				<
				groupId
				>
				liferay
				</
				groupId
				>
				
						
						
				
		
		
				
						      
				
				<
				artifactId
				>
				liferay.portal-service
				</
				artifactId
				>
				
						
						
				
		
		
				
						      
				
				<
				version
				>
				
						4.2.2
				
				</
				version
				>
				
						
						
				
		
		
				
						      
				
				<
				scope
				>
				system
				</
				scope
				>
				
						
						
				
		
		
				
						      
				
				<
				systemPath
				>
				${liferay.lib.dir}/portal-service.jar
				</
				systemPath
				>
				
						
						
				
		
		
				
						    
				
				</
				dependency
				>
				
						
						
				
		
		
				
						    
				
				<
				dependency
				>
				
						
						
				
		
		
				
						  
						    
				
				<
				groupId
				>
				liferay
				</
				groupId
				>
				
						
						
				
		
		
				
						      
				
				<
				artifactId
				>
				liferay.portal-kernel
				</
				artifactId
				>
				
						
						
				
		
		
				
						      
				
				<
				version
				>
				
						4.2.2
				
				</
				version
				>
				
						
						
				
		
		
				
						      
				
				<
				scope
				>
				system
				</
				scope
				>
				
						
						
				
		
		
				
						      
				
				<
				systemPath
				>
				${liferay.lib.dir}/portal-kernel.jar
				</
				systemPath
				>
				
						
						
				
		
		
				</
				dependency
				>
				
						    
						
						
				
		
		
				将
				<systemPath 
				路径指为
				liferay-portal-tomcat-5.5-jdk5-4.4.1/common/lib/ext/portal-service.jar
				和
				liferay-portal-tomcat-5.5-jdk5-4.4.1/common/lib/ext/portal-kernel.jar
		
		
				例如:
				
						
						
				
		
		
				<
				dependency
				>
				
						
						
				
		
		
				
						      
				
				<
				groupId
				>
				liferay
				</
				groupId
				>
				
						
						
				
		
		
				
						      
				
				<
				artifactId
				>
				liferay.portal-service
				</
				artifactId
				>
				
						
						
				
		
		
				
						      
				
				<
				version
				>
				
						4.2.2
				
				</
				version
				>
				
						
						
				
		
		
				
						      
				
				<
				scope
				>
				system
				</
				scope
				>
				
						
						
				
		
		
				
						      
				
				<
				systemPath
				>
				E:/workspacse_all/liferay-spagobi-4.4.1/liferay-portal-tomcat-5.5-jdk5-4.4.1/common/lib/ext/portal-service.jar
				</
				systemPath
				>
				
						
						
				
		
		
				
						    
				
				</
				dependency
				>
				
						
						
				
		
		
				
						    
				
				<
				dependency
				>
				
						
						
				
		
		
				
						      
				
				<
				groupId
				>
				liferay
				</
				groupId
				>
				
						
						
				
		
		
				
						      
				
				<
				artifactId
				>
				liferay.portal-kernel
				</
				artifactId
				>
				
						
						
				
		
		
				
						      
				
				<
				version
				>
				
						4.2.2
				
				</
				version
				>
				
						
						
				
		
		
				
						      
				
				<
				scope
				>
				system
				</
				scope
				>
				
						
						
				
		
		
				
						      
				
				<
				systemPath
				>
				E:/workspacse_all/liferay-spagobi-4.4.1/liferay-portal-tomcat-5.5-jdk5-4.4.1/common/lib/ext/portal-kernel.jar
				</
				systemPath
				>
				
						
						
				
		
		
				
						    
				
				</
				dependency
				>
		
		
				这样在
				eclipse
				保存后,代码会根据
				liferay4.4.1
				的包来编译代码,容易看到错误
				
						
						
				
		
		
				
						 
				
		
		
				
						 
				
		
		
				
				
						5、 
				
				
				修改代码
				SpagoBI-src-1.9.4\LiferayPortalSecurityProvider\src\it\eng\spagobi\security\LiferaySecurityProviderImpl.java
				中的:
				User user =
UserServiceUtil.getUserById(userName);
				为
				User user =
UserServiceUtil.getUserById(Long.parseLong(userName)); 
		
		
				
				
						6、 
				
				
				修改代码
				SpagoBI-src-1.9.4\LiferayPortalSecurityProvider\src\it\eng\spagobi\security\LiferayUserProfileImpl.java
				中的:
				User user =
UserServiceUtil.getUserById(userUniqueIdentifier);
				为
				User user = UserServiceUtil.getUserById(Long.parseLong(userUniqueIdentifier));
		
		
				
				
						7、 
				
				
				紧接着修改下面的
				userAttributes.put(USER_ID,
user.getUserId());
				为
				userAttributes.put(USER_ID,
user.getUserId()+"");
		
		
				修改
				liferay-portal-src-4.4.1\portal-impl\src\com\liferay\portal\servlet\taglib\portlet\ActionURLTagUtil.java
				中的代码,添加一个方法:
				/**
				
						
						
				
		
		
				
						    
						 
				
				*
				
				
				Terry
				
				
				添加
				
						
						
				
		
		
				
						    
						 
				
				*
				
				
				
						@param
				
				
				
				action
				
						
						
				
		
		
				
						    
						 
				
				*
				
				
				
						@param
				
				
				
				windowState
				
						
						
				
		
		
				
						    
						 
				
				*
				
				
				
						@param
				
				
				
				portletMode
				
						
						
				
		
		
				
						    
						 
				
				*
				
				
				
						@param
				
				
				
				var
				
						
						
				
		
		
				
						    
						 
				
				*
				
				
				
						@param
				
				
				
				varImpl
				
						
						
				
		
		
				
						    
						 
				
				*
				
				
				
						@param
				
				
				
				secure
				
						
						
				
		
		
				
						    
						 
				
				*
				
				
				
						@param
				
				
				
				portletName
				
						
						
				
		
		
				
						    
						 
				
				*
				
				
				
						@param
				
				
				
				anchor
				
						
						
				
		
		
				
						    
						 
				
				*
				
				
				
						@param
				
				
				
				encrypt
				
						
						
				
		
		
				
						    
						 
				
				*
				
				
				
						@param
				
				
				
				doAsUserId
				
						
						
				
		
		
				
						    
						 
				
				*
				
				
				
						@param
				
				
				
				portletConfiguration
				
						
						
				
		
		
				
						    
						 
				
				*
				
				
				
						@param
				
				
				
				params
				
						
						
				
		
		
				
						    
						 
				
				*
				
				
				
						@param
				
				
				
				writeOutput
				
						
						
				
		
		
				
						    
						 
				
				*
				
				
				
						@param
				
				
				
				pageContext
				
						
						
				
		
		
				
						    
						 
				
				*
				
				
				
						@return
				
				
						
						
				
		
		
				
						    
						 
				
				*
				
				
				
						@throws
				
				
				
				JspException
				
						
						
				
		
		
				
						    
						 
				
				*/
				
						
						
				
		
		
				
						    
				
				
						public
				
				
				
				
						static
				
				
String doEndTag(
				
						
						
				
		
		
				
						           
				
				
						boolean
				
				
action, String windowState, String portletMode, String var,
				
						
						
				
		
		
				
						           String varImpl, Boolean secure,
String portletName, Boolean anchor,
				
						
						
				
		
		
				
						           Boolean encrypt, String doAsUserId,
Boolean portletConfiguration,
				
						
						
				
		
		
				
						           Map params, 
				
						boolean
				
				
writeOutput, PageContext pageContext)
				
						
						
				
		
		
				
						       
				
				
						throws
				
				
JspException {
				
						
						
				
		
		
				
						       
				
				
						try
				
				 {
				
						
						
				
		
		
				
						           
				
				
						long
				
				
						lDoAsUserId = 0;
				
						
						
				
		
		
				
						           
				
				
						if
				
				 (
				
						null
				
				 !=
doAsUserId && !
				""
				.equals(doAsUserId)
&& Long.parseLong(doAsUserId)>0) {
				
						
						
				
		
		
				
						              
						lDoAsUserId = Long.parseLong(doAsUserId);            
				
						
						
				
		
		
				
						           }
				
						
						
				
		
		
				
						           
				
				
						return
				
				
						doEndTag(action,
windowState, portletMode, var,
				
						
						
				
		
		
				
						                  varImpl, secure, portletName,
anchor,
				
						
						
				
		
		
				
						                  encrypt, lDoAsUserId,
portletConfiguration,
				
						
						
				
		
		
				
						                  params, writeOutput,
pageContext);
				
						
						
				
		
		
				
						       } 
				
						catch
				
				
(Exception e) {
				
						
						
				
		
		
				
						           
				
				
						_log
				
				.error(e,
e);
				
						
						
				
		
		
				
						 
				
		
		
				
						           
				
				
						throw
				
				
				
				
						new
				
				
JspException(e);
				
						
						
				
		
		
				
						       }
				
						
						
				
		
		
				
						       
				
				
						
						
				
		
		
				
				
						8、 
				
				
				
						
						}
				
						
						
				
		
		
				
				
						9、 
				
				
				到这里
				spagobi
				部分的代码就修改完了。
				
						
						
				
		
		
				
				
						10、 
				
				
				将
				liferay-portal-tomcat-5.5-jdk5-4.4.1\webapps\ROOT\WEB-INF\lib\portal-impl.jar
				使用
				winrar
				文件打开到
				portal-impl.jar\com\liferay\portal\servlet\taglib\portlet
				把里面的
				ActionURLTagUtil.class
				文件删除,将
				liferay-portal-src-4.4.1\bin\com\liferay\portal\servlet\taglib\portlet
				下面修改后的
				class
				文件拖到
				portal-impl.jar
				相应目录下
				
						
						
				
		
		
				
				
						11、             
				
				
				在
				SpagoBI-src-1.9.4.
				路径下使用
				maven
				命令
				mvn -Pspagobi-liferay package
		
		
				
				
						12、             
				
				
				
						
						
						 
						
				
		
		
				
				
						13、             
				
				
				拷贝
				SpagoBI-src-1.9.4\build\tomcat-server\common\lib\ext
				下的
				*.jar
				到
				liferay-portal-tomcat-5.5-jdk5-4.4.1\common\lib\ext
				中不覆盖已经存在的
				jar
				包
		
		
				
				
						14、             
				
				
				拷贝
				SpagoBI-src-1.9.4\build\tomcat-server\conf\server.xml
				中的
				<Context 
				数据源到
				liferay-portal-tomcat-5.5-jdk5-4.4.1\conf\server.xml
				中
		
		
				
				
						15、             
				
				
				把
				liferay-portal-tomcat-5.5-jdk5-4.4.1\conf\server.xml
				中
				<Context
path="/spagobi"
				标签中的数据源定义
				<Resource
				剪切到
				liferay-portal-tomcat-5.5-jdk5-4.4.1\conf\context.xml
				中
		
		
				
				
						16、             
				
				
				拷贝
				SpagoBI-src-1.9.4\build\tomcat-server\webapps
				下的所有文件到
				liferay-portal-tomcat-5.5-jdk5-4.4.1\webapps
				下
		
		
				
				
						17、             
				
				
				修改
				liferay-portal-tomcat-5.5-jdk5-4.4.1\webapps\spagobi\WEB-INF\conf
				下的
				cms.xml
				,将其中
		
		
				<PARAMETERS>
		
		
				
						       
						            <PARAMETER
name="repository_path" value="${SERVER_HOME}/sbidata/jcrRepositoryFS/"
/>
		
		
				
						       
						            <PARAMETER
name="conf_file_path"
value="${SERVER_HOME}/sbidata/jcrRepositoryFS/repository.xml" />
		
		
				
						       
						        </PARAMETERS>
		
		
				替换为
		
		
				<PARAMETERS>
		
		
				
						       
						            <PARAMETER
name="repository_path" value="jcrRepositoryFS/" />
		
		
				
						       
						            <PARAMETER
name="conf_file_path"
value="jcrRepositoryFS/repository.xml" />
		
		
				
						       
						        </PARAMETERS>         
		
		
				
				
						18、             
				
				
				在
				liferay-portal-tomcat-5.5-jdk5-4.4.1\webapps\spagobi
				目录下建立文件夹
				jcrRepositoryFS
		
		
				
				
						19、             
				
				
				在
				jcrRepositoryFS
				文件夹下建立
				repository
				文件夹
		
		
				
				
						20、             
				
				
				拷贝
				SpagoBI-src-1.9.4\SpagoBIProject\src
				下的
				repository.xml
				文件到
				liferay-portal-tomcat-5.5-jdk5-4.4.1\webapps\spagobi\jcrRepositoryFS
				下
		
		
				
				
						21、             
				
				
				拷贝
				SpagoBI-src-1.9.4\SpagoBIUtilityFiles\liferay-libraries
				下的
				hibernate-3.1rc2.jar
				到
				liferay-portal-tomcat-5.5-jdk5-4.4.1\webapps\spagobi\WEB-INF\lib
				下
		
		
				
				
						22、             
				
				
				把
				SpagoBI-src-1.9.4\SpagoBIUtilityFiles\tomcat-server
				下的
				sbidata
				拷贝到
				liferay-portal-tomcat-5.5-jdk5-4.4.1
				目录下
		
		
				
				
						23、             
				
				
				启动
				liferay-portal-tomcat-5.5-jdk5-4.4.1\sbidata\database\start.bat
				数据库
		
		
				
				
						24、             
				
				
				启动
				tomcat   liferay-portal-tomcat-5.5-jdk5-4.4.1\bin\startup.bat
		
		
				
						 
				
		
		
				
						 
				
		
		
				
						 
				
		
		
				
						 
				
		
		
				
						 
				
		
		
				
						 
				
		
		
				
						 
				
		
		
				
						 
				
		
		
				5.
				更改liferay 和sapgoBI的数据库
		
		
				Liferay
				和sapgoBI默认的数据库都是内存数据库HSQL,为了方便开发,我们需要更改为别的数据库,下面一SQLserver为例来操作。
		
		
				<
				一>.更改liferay的数据库
		
		
				<1>.
				在liferay官网上下载和所用liferay版本相同的SQL,例如我们现在的liferay版本是4.2.2,那么SQL就是:liferay-portal-sql-4.2.2,解压后运行create/create-sql-server.sql,在本地sqlserver中就创建了相应的db
		
		
				<2>
				更改tomcat-liferay4.2.2/conf/Catalina/localhost下的ROOT.xml,将其中的内容:
		
		
				…
				.
		
		
				<Resource
		
		
				
						       name="jdbc/LiferayPool"
		
		
				
						       auth="Container"
		
		
				
						       type="javax.sql.DataSource"
		
		
				
						       driverClassName="org.hsqldb.jdbcDriver"
		
		
				
						       url="jdbc:hsqldb:lportal"
		
		
				
						       username="sa"
		
		
				
						       password=""
		
		
				
						       maxActive="20"
		
		
				
						    />
		
		
				…
				.
		
		
				改为:
		
		
				<Resource
		
		
				
						       name="jdbc/LiferayPool"
		
		
				
						       auth="Container"
		
		
				
						       type="javax.sql.DataSource"
		
		
				
						       
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
		
		
				
						    
						   
username="sa"
		
		
				
						    
						   
password="bbbbb"
		
		
				
						    
						   
url="jdbc:sqlserver://localhost;DatabaseName=lportal"
		
		
				
						    
						   
maxActive="20"
		
		
				
						    />
		
		
				<3>.
				把sqljdbc的驱动包 ,拷贝到tomcat-liferay4.2.2/common/ext下
,拷贝到tomcat-liferay4.2.2/common/ext下
		
		
				<4>liferay
				默认的数据库名称为lportal,如果需要自定义一个数据库,那么需要将将上面的数据源名称修改,还要把liferay-portal-tomcat-5.5-jdk5-4.4.1\webapps\spagobi\WEB-INF\conf\spagobi下的spagobi.xml中
		
		
				<HIBERNATE-CFGFILE>hibernate.cfg.sqlserver.xml</HIBERNATE-CFGFILE>
				换为对应数据库的hibernate配置文件连接。
下面把<SPAGOBI_CONTEXT_PATH>http://10.16.202.74:8080/spagobi</SPAGOBI_CONTEXT_PATH>修改
		
		
				到此,liferay4.2.2的db更换完毕。
		
		
				
						 
				
		
		
				<
				二>更换SpagoBI1.9.4的数据库,仍然以SQL server为例:
		
		
				<1>.
				从SpagoBI官网上下载sql,其名称为:sqlserver-dbscript-1.9.4.zip
		
		
				<2>.
				解压后执行其中的SQLServer_create.sql,SQLServer_create_fk.sql,SQLserver_create_quartz_schema.sql和SQLServer_insert.sql,此时就会在本地SQLserver中建立spagoBI1.9.4相关的DB和Table。
		
		
				<3>.
				修改tomcat-liferay4.2.2/conf下的server.xml,把db的连接由HSQL改为SQLServer。
		
		
				…
				
						
						
				
		
		
				<Resource
		
		
				
						    
						  
name="jdbc/sbifoodmart"
		
		
				
						    
						  
auth="Container"
		
		
				
						    
						  
type="javax.sql.DataSource"
		
		
				
						    
						  
username="sa"
		
		
				
						    
						  
password=""
		
		
				
						    
						  
driverClassName="org.hsqldb.jdbcDriver"
		
		
				
						    
						  
url="jdbc:hsqldb:hsql://localhost:9001/foodmart"
		
		
				
						    />
		
		
				…
				..
		
		
				改为:
		
		
				<Resource
		
		
				
						    
						  
name="jdbc/sbifoodmart"
		
		
				
						    
						  
auth="Container"
		
		
				
						    
						  
type="javax.sql.DataSource"
		
		
				
						    
						  
username="sa"
		
		
				
						    
						  
password="bbbbb"
		
		
				
						    
						  
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
		
		
				
						    
						  
url="jdbc:sqlserver://localhost;DatabaseName=suggested"
		
		
				
						    />
		
		
				其余依次类推
				…
				
						
						
				
		
		
				<4>.
				把sqljdbc的驱动包 ,拷贝到tomcat-liferay4.2.2/common/ext下,因为在更换liferay数据库的时候已完成了这一步,所以在这里这个步骤可以省略。
,拷贝到tomcat-liferay4.2.2/common/ext下,因为在更换liferay数据库的时候已完成了这一步,所以在这里这个步骤可以省略。
		
		
				以上就是更换SpagoBI1.9.4的db的步骤。