搭建Sakai复旦共享版的Eclipse开发环境
2014-11-07何英高黄晔华
何英高++黄晔华
摘 要:本文介绍了在Eclipse开发环境中应用Maven、Tomcat和Mysql搭建著名开源网络教学平台Sakai复旦共享版方法,旨在为我国高校基于Sakai网络教学平台进行二次开发提供友好集成开发环境。
关键词:Sakai平台 网络教学平台 二次开发应用
中图分类号:TP311 文献标识码:A 文章编号:1672-3791(2014)03(c)-0024-02
Sakai是在世界范围内被广泛使用的开源网络教学平台,复旦大学自2010年起以Sakai系统为基础,结合国内高校实际情况,经过3年多的探索与实践,发布了“Sakai教学平台复旦共享版”。目前Sakai教学平台复旦共享版提供三种不同的安装类型,包括Demo版、Binary版和Source版。前两种安装方式都不能作代码级的改变,不能针对高校自身需求做二次开发,而拥有科研力量的各高校应选择Source版,安装后可以将其进行本地化及在此基础上做二次开发,针对自身需求对开源软件代码自主进行改进和调整,降低系统开发维护成本。不过目前Sakai教学平台复旦共享版只采用Maven命令行方式进行编译,本文基于该版本结合Eclipse集成开发环境,应用Maven、Tomcat和Mysql等工具提供了一个界面友好的图形化开发和编译环境方法。
1 运行环境搭建
1.1 安装运行环境工具
1.1.1 安装JVM
安装Java SE 7。
1.1.2 安装Apache Maven
Sakai使用Apache Maven进行项目管理,请到Maven官方下载页面获取Maven 3.x的最新zip压缩包,下载后将其解压到任意目录,例如“D:\Program Files”。下面以Maven的安装路径是“D:\Program Files\apache-maven-3.0.5”为例进行说明。首先新建名为MAVEN_HOME的系统变量,将其值设为“d:\tools\apache-maven-3.0.5”。再编辑系统变量“path”,在值的末尾添加“;%MAVEN_HOME%\bin”。在进行完整编译Sakai时,由于项目整体较大,Maven在默认配置下可能会出现内存溢出的情况。可添加系统变量“MAVEN _OPTS”,并把值设为“-Xms512m-Xmx1024m-XX:PermSize=256m-XX:MaxPermSize=512m”,来增加Maven使用的内存量。以上各系统变量的值,均不包含双引号在内。
1.1.3 安装MySQL
按照Sakai官方文档,目前稳定支持的数据库包括Oracle、MySQL、HSQLDB三种。复旦大学使用MySQL作为数据库服务器。在MySQL 5.6官方下载页面选择“MySQL Installer 5.6 for Windows”,下载后安装即可。
1.1.4 安装Apache Tomcat
Sakai 2.9.x目前只支持7.0版本的Tomcat。请到官方网站下载最新的Apache Tomcat 7.0,下载后将Tomcat解压到任意目录,如D:\project\java\eclipse\web\ apache-tomcat-7.0.47。以下将以%TOMCAT_HOME%来表示这个目录(注意,为避免歧义,这个目录下应该有bin, conf,lib,webapps等文件夹)。删除Tomcat自带的一些示例,即%TOMCAT_HOME %/webapps目录下所有目录。
1.1.5 安装Eclipse
安装eclipse-jee-kepler-SR1-win32。
1.2 配置运行环境
1.2.1 安装复旦共享版Sakai
下载复旦Sakai共享版的src版。
1.2.2 使用Eclipse导入项目
1.2.3 maven的配置
如图1所示,在eclipse中配置maven,安装成功后,就会多出Maven选项,在Eclipse菜单栏Windows->Preference下的Installations中添加下载的Maven。
1.2.4 配置Tomcat
(1)增加首页自动跳转页面。
由于Sakai的默认首页路径为/portal,所以需要增加首页跳转页面进行自动跳转。在%TOMCAT_HOME%/webapps目录下创建ROOT目录(注意大小写),然后在ROOT目录下创建文件index.html,内容如下:
You are being redirected to the Sakai portal.If you are not automatically redirected,use the link below to continue:
(2)增加setenv.bat来设定Tomcat运行参数。
在%TOMCAT_HOME%/bin目录下新建setenv.bat,内容如下:
Set JAVA_HOME=%JAVA_HOME%
Set JAVA_OPTS=-server-Xms512m -Xmx2048m-XX:PermSize=128m-XX:MaxPermSize=512m-XX:NewSize=192m-XX:MaxNewSize=384m-Djava.net.preferIPv4Stack=true-Djava.awt.headless=true-Dhttp.agent=Sakai-Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false-Dsun.lang.ClassLoader.allowArraySyntax=true-Duser.language=zh-Duser.region=CN
Set CATALINA_HOME=%TOMCAT _HOME%
请将其中%JAVA_HOME%设定为JDK的安装目录;%TOMCAT_HOME%设置为Tomcat的安装目录,请根据具体的机器环境进行设置。
(3)修改server.xml。
修改%TOMCAT_HOME%/conf/server.xml,增加对于GET方法的UTF-8字符支持将下面这段:
将 connectionTimeout=0000" redirectPort=443"/> 修改为: connectionTimeout=0000" redirectPort=443"/> (4)修改catalina.properties。 打开文件%TOMCAT_HOME%/conf/catalina.properties 将common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar 修改为: common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar,${catalina.home}/common/lib/*.jar 将shared.loader= 修改为: shared.loader=${catalina.base}/shared/lib/*.jar 将org.apache.catalina.startup.ContextConfig.jarsToSkip= 修改为: org.apache.catalina.startup.ContextConfig.jarsToSkip=*.jar 1.2.5 配置MySQL连接 (1)配置sakai.properties。 在%TOMCAT_HOME%下创建sakai目录,然后在%TOMCAT_HOME%/sakai目录下创建sakai.properties文件,在sakai.properties文件中加入以下内容: #MySQL settings-make sure to alter as appropriate vendor@org.sakaiproject.db.api.SqlService=mysql driverClassName@javax.sql.BaseDataSource=com.mysql.jdbc.Driver hibernate.dialect=org.hibernate.dialect.MySQLDialect url@javax.sql.BaseDataSource=jdbc:mysql://127.0.0.1:3306/sakai useUnicode =true&characterEncoding=UTF-8 validationQuery@javax.sql.BaseDataSource=show variables like 憊ersion defaultTransactionIsolationString@javax.sql.BaseDataSource=TRANSACTION _READ_COMMITTED username@javax.sql.BaseData Source=sakai password@javax.sql.BaseDataSource =******** 其中url@javax.sql.BaseDataSource的值请使用相关的MySQL JDBC连接字符串代替。 username@javax.sql.BaseDataSource的值请使用MySQL的用户名代替。
password@javax.sql.BaseDataSource的值请使用MySQL的密码代替。
以该sakai.properties文件的配置为例,需要在MySQL中新建一个名为“sakai”的schema,并将该shema的全部权限赋予用户“sakai”。当Tomcat启动的时候,Sakai会根据sakai.properties文件中的配置自动生成数据表并添加初始数据。
(2)部署MySQL的JDBC库。
从MySQL官方网站上下载最新的MySQL JDBC库,下载的文件解压缩后可以得到mysql-connector-java-5.1.xx-bin.jar这个文件,将此文件复制到%TOMCAT_HOME%/common/lib目录下。
1.2.6 配置编译命令行参数,编译源代码并部署到Tomcat
在Goals文本框中输入install sakai:deploy-Dmaven.tomcat.home =TOMCAT_HOME%-Dmaven.test.skip=true。
使用Maven进行工程项目编译,程序将自动下载一些运行所需要的文件,在此过程中,需要有稳定的Intelnet网络连接。第一次执行此命令时,耗时较长,可能需要1~2 h,具体时长视网络情况而定。
2 运行/停止Sakai
2.1 创建Sakai数据库
使用Navicat在Mysql中创建名为sakai数据库。
2.2 启动Tomcat
在%TOMCAT_HOME%/bin目录下,运行startup.bat。
2.3 停止Tomcat
在%TOMCAT_HOME%/bin目录下,运行shutdown.bat。
3 访问Sakai
打开任意网页浏览器,访问http://localhost:8080。
参考文献
[1] 王淑平.基于Sakai平台研究性学习研究[D].山东师范大学,2012.
[2] 江丽君,谢新就,腾艳杨.开源Sakai的特色及应用分析[J].现代教育技术,2011,10:10-13.endprint
password@javax.sql.BaseDataSource的值请使用MySQL的密码代替。
以该sakai.properties文件的配置为例,需要在MySQL中新建一个名为“sakai”的schema,并将该shema的全部权限赋予用户“sakai”。当Tomcat启动的时候,Sakai会根据sakai.properties文件中的配置自动生成数据表并添加初始数据。
(2)部署MySQL的JDBC库。
从MySQL官方网站上下载最新的MySQL JDBC库,下载的文件解压缩后可以得到mysql-connector-java-5.1.xx-bin.jar这个文件,将此文件复制到%TOMCAT_HOME%/common/lib目录下。
1.2.6 配置编译命令行参数,编译源代码并部署到Tomcat
在Goals文本框中输入install sakai:deploy-Dmaven.tomcat.home =TOMCAT_HOME%-Dmaven.test.skip=true。
使用Maven进行工程项目编译,程序将自动下载一些运行所需要的文件,在此过程中,需要有稳定的Intelnet网络连接。第一次执行此命令时,耗时较长,可能需要1~2 h,具体时长视网络情况而定。
2 运行/停止Sakai
2.1 创建Sakai数据库
使用Navicat在Mysql中创建名为sakai数据库。
2.2 启动Tomcat
在%TOMCAT_HOME%/bin目录下,运行startup.bat。
2.3 停止Tomcat
在%TOMCAT_HOME%/bin目录下,运行shutdown.bat。
3 访问Sakai
打开任意网页浏览器,访问http://localhost:8080。
参考文献
[1] 王淑平.基于Sakai平台研究性学习研究[D].山东师范大学,2012.
[2] 江丽君,谢新就,腾艳杨.开源Sakai的特色及应用分析[J].现代教育技术,2011,10:10-13.endprint
password@javax.sql.BaseDataSource的值请使用MySQL的密码代替。
以该sakai.properties文件的配置为例,需要在MySQL中新建一个名为“sakai”的schema,并将该shema的全部权限赋予用户“sakai”。当Tomcat启动的时候,Sakai会根据sakai.properties文件中的配置自动生成数据表并添加初始数据。
(2)部署MySQL的JDBC库。
从MySQL官方网站上下载最新的MySQL JDBC库,下载的文件解压缩后可以得到mysql-connector-java-5.1.xx-bin.jar这个文件,将此文件复制到%TOMCAT_HOME%/common/lib目录下。
1.2.6 配置编译命令行参数,编译源代码并部署到Tomcat
在Goals文本框中输入install sakai:deploy-Dmaven.tomcat.home =TOMCAT_HOME%-Dmaven.test.skip=true。
使用Maven进行工程项目编译,程序将自动下载一些运行所需要的文件,在此过程中,需要有稳定的Intelnet网络连接。第一次执行此命令时,耗时较长,可能需要1~2 h,具体时长视网络情况而定。
2 运行/停止Sakai
2.1 创建Sakai数据库
使用Navicat在Mysql中创建名为sakai数据库。
2.2 启动Tomcat
在%TOMCAT_HOME%/bin目录下,运行startup.bat。
2.3 停止Tomcat
在%TOMCAT_HOME%/bin目录下,运行shutdown.bat。
3 访问Sakai
打开任意网页浏览器,访问http://localhost:8080。
参考文献
[1] 王淑平.基于Sakai平台研究性学习研究[D].山东师范大学,2012.
[2] 江丽君,谢新就,腾艳杨.开源Sakai的特色及应用分析[J].现代教育技术,2011,10:10-13.endprint