何英高++黃曄華
摘 要:本文介紹了在Eclipse開發(fā)環(huán)境中應(yīng)用Maven、Tomcat和Mysql搭建著名開源網(wǎng)絡(luò)教學(xué)平臺Sakai復(fù)旦共享版方法,旨在為我國高校基于Sakai網(wǎng)絡(luò)教學(xué)平臺進(jìn)行二次開發(fā)提供友好集成開發(fā)環(huán)境。
關(guān)鍵詞:Sakai平臺 網(wǎng)絡(luò)教學(xué)平臺 二次開發(fā)應(yīng)用
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1672-3791(2014)03(c)-0024-02
Sakai是在世界范圍內(nèi)被廣泛使用的開源網(wǎng)絡(luò)教學(xué)平臺,復(fù)旦大學(xué)自2010年起以Sakai系統(tǒng)為基礎(chǔ),結(jié)合國內(nèi)高校實際情況,經(jīng)過3年多的探索與實踐,發(fā)布了“Sakai教學(xué)平臺復(fù)旦共享版”。目前Sakai教學(xué)平臺復(fù)旦共享版提供三種不同的安裝類型,包括Demo版、Binary版和Source版。前兩種安裝方式都不能作代碼級的改變,不能針對高校自身需求做二次開發(fā),而擁有科研力量的各高校應(yīng)選擇Source版,安裝后可以將其進(jìn)行本地化及在此基礎(chǔ)上做二次開發(fā),針對自身需求對開源軟件代碼自主進(jìn)行改進(jìn)和調(diào)整,降低系統(tǒng)開發(fā)維護(hù)成本。不過目前Sakai教學(xué)平臺復(fù)旦共享版只采用Maven命令行方式進(jìn)行編譯,本文基于該版本結(jié)合Eclipse集成開發(fā)環(huán)境,應(yīng)用Maven、Tomcat和Mysql等工具提供了一個界面友好的圖形化開發(fā)和編譯環(huán)境方法。
1 運行環(huán)境搭建
1.1 安裝運行環(huán)境工具
1.1.1 安裝JVM
安裝Java SE 7。
1.1.2 安裝Apache Maven
Sakai使用Apache Maven進(jìn)行項目管理,請到Maven官方下載頁面獲取Maven 3.x的最新zip壓縮包,下載后將其解壓到任意目錄,例如“D:\Program Files”。下面以Maven的安裝路徑是“D:\Program Files\apache-maven-3.0.5”為例進(jìn)行說明。首先新建名為MAVEN_HOME的系統(tǒng)變量,將其值設(shè)為“d:\tools\apache-maven-3.0.5”。再編輯系統(tǒng)變量“path”,在值的末尾添加“;%MAVEN_HOME%\bin”。在進(jìn)行完整編譯Sakai時,由于項目整體較大,Maven在默認(rèn)配置下可能會出現(xiàn)內(nèi)存溢出的情況??商砑酉到y(tǒng)變量“MAVEN _OPTS”,并把值設(shè)為“-Xms512m-Xmx1024m-XX:PermSize=256m-XX:MaxPermSize=512m”,來增加Maven使用的內(nèi)存量。以上各系統(tǒng)變量的值,均不包含雙引號在內(nèi)。
1.1.3 安裝MySQL
按照Sakai官方文檔,目前穩(wěn)定支持的數(shù)據(jù)庫包括Oracle、MySQL、HSQLDB三種。復(fù)旦大學(xué)使用MySQL作為數(shù)據(jù)庫服務(wù)器。在MySQL 5.6官方下載頁面選擇“MySQL Installer 5.6 for Windows”,下載后安裝即可。
1.1.4 安裝Apache Tomcat
Sakai 2.9.x目前只支持7.0版本的Tomcat。請到官方網(wǎng)站下載最新的Apache Tomcat 7.0,下載后將Tomcat解壓到任意目錄,如D:\project\java\eclipse\web\ apache-tomcat-7.0.47。以下將以%TOMCAT_HOME%來表示這個目錄(注意,為避免歧義,這個目錄下應(yīng)該有bin, conf,lib,webapps等文件夾)。刪除Tomcat自帶的一些示例,即%TOMCAT_HOME %/webapps目錄下所有目錄。
1.1.5 安裝Eclipse
安裝eclipse-jee-kepler-SR1-win32。
1.2 配置運行環(huán)境
1.2.1 安裝復(fù)旦共享版Sakai
下載復(fù)旦Sakai共享版的src版。
1.2.2 使用Eclipse導(dǎo)入項目
1.2.3 maven的配置
如圖1所示,在eclipse中配置maven,安裝成功后,就會多出Maven選項,在Eclipse菜單欄Windows->Preference下的Installations中添加下載的Maven。
1.2.4 配置Tomcat
(1)增加首頁自動跳轉(zhuǎn)頁面。
由于Sakai的默認(rèn)首頁路徑為/portal,所以需要增加首頁跳轉(zhuǎn)頁面進(jìn)行自動跳轉(zhuǎn)。在%TOMCAT_HOME%/webapps目錄下創(chuàng)建ROOT目錄(注意大小寫),然后在ROOT目錄下創(chuàng)建文件index.html,內(nèi)容如下:
You are being redirected to the Sakai portal.If you are not automatically redirected,use the link below to continue:
(2)增加setenv.bat來設(shè)定Tomcat運行參數(shù)。
在%TOMCAT_HOME%/bin目錄下新建setenv.bat,內(nèi)容如下:
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%設(shè)定為JDK的安裝目錄;%TOMCAT_HOME%設(shè)置為Tomcat的安裝目錄,請根據(jù)具體的機(jī)器環(huán)境進(jìn)行設(shè)置。
(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%下創(chuàng)建sakai目錄,然后在%TOMCAT_HOME%/sakai目錄下創(chuàng)建sakai.properties文件,在sakai.properties文件中加入以下內(nèi)容: #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的值請使用相關(guān)的MySQL JDBC連接字符串代替。 username@javax.sql.BaseDataSource的值請使用MySQL的用戶名代替。
password@javax.sql.BaseDataSource的值請使用MySQL的密碼代替。
以該sakai.properties文件的配置為例,需要在MySQL中新建一個名為“sakai”的schema,并將該shema的全部權(quán)限賦予用戶“sakai”。當(dāng)Tomcat啟動的時候,Sakai會根據(jù)sakai.properties文件中的配置自動生成數(shù)據(jù)表并添加初始數(shù)據(jù)。
(2)部署MySQL的JDBC庫。
從MySQL官方網(wǎng)站上下載最新的MySQL JDBC庫,下載的文件解壓縮后可以得到mysql-connector-java-5.1.xx-bin.jar這個文件,將此文件復(fù)制到%TOMCAT_HOME%/common/lib目錄下。
1.2.6 配置編譯命令行參數(shù),編譯源代碼并部署到Tomcat
在Goals文本框中輸入install sakai:deploy-Dmaven.tomcat.home =TOMCAT_HOME%-Dmaven.test.skip=true。
使用Maven進(jìn)行工程項目編譯,程序?qū)⒆詣酉螺d一些運行所需要的文件,在此過程中,需要有穩(wěn)定的Intelnet網(wǎng)絡(luò)連接。第一次執(zhí)行此命令時,耗時較長,可能需要1~2 h,具體時長視網(wǎng)絡(luò)情況而定。
2 運行/停止Sakai
2.1 創(chuàng)建Sakai數(shù)據(jù)庫
使用Navicat在Mysql中創(chuàng)建名為sakai數(shù)據(jù)庫。
2.2 啟動Tomcat
在%TOMCAT_HOME%/bin目錄下,運行startup.bat。
2.3 停止Tomcat
在%TOMCAT_HOME%/bin目錄下,運行shutdown.bat。
3 訪問Sakai
打開任意網(wǎng)頁瀏覽器,訪問http://localhost:8080。
參考文獻(xiàn)
[1] 王淑平.基于Sakai平臺研究性學(xué)習(xí)研究[D].山東師范大學(xué),2012.
[2] 江麗君,謝新就,騰艷楊.開源Sakai的特色及應(yīng)用分析[J].現(xiàn)代教育技術(shù),2011,10:10-13.endprint
password@javax.sql.BaseDataSource的值請使用MySQL的密碼代替。
以該sakai.properties文件的配置為例,需要在MySQL中新建一個名為“sakai”的schema,并將該shema的全部權(quán)限賦予用戶“sakai”。當(dāng)Tomcat啟動的時候,Sakai會根據(jù)sakai.properties文件中的配置自動生成數(shù)據(jù)表并添加初始數(shù)據(jù)。
(2)部署MySQL的JDBC庫。
從MySQL官方網(wǎng)站上下載最新的MySQL JDBC庫,下載的文件解壓縮后可以得到mysql-connector-java-5.1.xx-bin.jar這個文件,將此文件復(fù)制到%TOMCAT_HOME%/common/lib目錄下。
1.2.6 配置編譯命令行參數(shù),編譯源代碼并部署到Tomcat
在Goals文本框中輸入install sakai:deploy-Dmaven.tomcat.home =TOMCAT_HOME%-Dmaven.test.skip=true。
使用Maven進(jìn)行工程項目編譯,程序?qū)⒆詣酉螺d一些運行所需要的文件,在此過程中,需要有穩(wěn)定的Intelnet網(wǎng)絡(luò)連接。第一次執(zhí)行此命令時,耗時較長,可能需要1~2 h,具體時長視網(wǎng)絡(luò)情況而定。
2 運行/停止Sakai
2.1 創(chuàng)建Sakai數(shù)據(jù)庫
使用Navicat在Mysql中創(chuàng)建名為sakai數(shù)據(jù)庫。
2.2 啟動Tomcat
在%TOMCAT_HOME%/bin目錄下,運行startup.bat。
2.3 停止Tomcat
在%TOMCAT_HOME%/bin目錄下,運行shutdown.bat。
3 訪問Sakai
打開任意網(wǎng)頁瀏覽器,訪問http://localhost:8080。
參考文獻(xiàn)
[1] 王淑平.基于Sakai平臺研究性學(xué)習(xí)研究[D].山東師范大學(xué),2012.
[2] 江麗君,謝新就,騰艷楊.開源Sakai的特色及應(yīng)用分析[J].現(xiàn)代教育技術(shù),2011,10:10-13.endprint
password@javax.sql.BaseDataSource的值請使用MySQL的密碼代替。
以該sakai.properties文件的配置為例,需要在MySQL中新建一個名為“sakai”的schema,并將該shema的全部權(quán)限賦予用戶“sakai”。當(dāng)Tomcat啟動的時候,Sakai會根據(jù)sakai.properties文件中的配置自動生成數(shù)據(jù)表并添加初始數(shù)據(jù)。
(2)部署MySQL的JDBC庫。
從MySQL官方網(wǎng)站上下載最新的MySQL JDBC庫,下載的文件解壓縮后可以得到mysql-connector-java-5.1.xx-bin.jar這個文件,將此文件復(fù)制到%TOMCAT_HOME%/common/lib目錄下。
1.2.6 配置編譯命令行參數(shù),編譯源代碼并部署到Tomcat
在Goals文本框中輸入install sakai:deploy-Dmaven.tomcat.home =TOMCAT_HOME%-Dmaven.test.skip=true。
使用Maven進(jìn)行工程項目編譯,程序?qū)⒆詣酉螺d一些運行所需要的文件,在此過程中,需要有穩(wěn)定的Intelnet網(wǎng)絡(luò)連接。第一次執(zhí)行此命令時,耗時較長,可能需要1~2 h,具體時長視網(wǎng)絡(luò)情況而定。
2 運行/停止Sakai
2.1 創(chuàng)建Sakai數(shù)據(jù)庫
使用Navicat在Mysql中創(chuàng)建名為sakai數(shù)據(jù)庫。
2.2 啟動Tomcat
在%TOMCAT_HOME%/bin目錄下,運行startup.bat。
2.3 停止Tomcat
在%TOMCAT_HOME%/bin目錄下,運行shutdown.bat。
3 訪問Sakai
打開任意網(wǎng)頁瀏覽器,訪問http://localhost:8080。
參考文獻(xiàn)
[1] 王淑平.基于Sakai平臺研究性學(xué)習(xí)研究[D].山東師范大學(xué),2012.
[2] 江麗君,謝新就,騰艷楊.開源Sakai的特色及應(yīng)用分析[J].現(xiàn)代教育技術(shù),2011,10:10-13.endprint