SAKAI DEMO
将sakai-demo-2.8.0.zip解压到E:\SAKAI目录下
修改start-sakai.bat文件中JAVA_OPTS和CATALINA_OPTS的参数,如果机器内存有4G可以不用改。
将
-server -Xmx1024m -XX:MaxNewSize=256m -XX:MaxPermSize=512m
改为
-server -Xmx512m -XX:MaxNewSize=128m -XX:MaxPermSize=256m
运行start-sakai.bat
SAKAI的BIN包安装
在正式运行环境中部署一般使用该方法。
解压sakai-bin-2.8.0.zip,直接将所有目录覆盖到Tomcat安装目录中。
在Tomcat根目录下创建一个sakai目录,其中添加一个sakai.properties文件,具体文件参考sakai-demo目录下的。
默认数据库是HSQLDB.
如果要换成MySQL,首先在MySQL中新建一个数据库sakai,数据库中的表SAKAI会自动创建。
接着修改sakai.properties文件
#数据库驱动类
driverClassName@javax.sql.BaseDataSource=com.mysql.jdbc.Driver
#数据库连接字符串
url@javax.sql.BaseDataSource=jdbc:mysql://localhost:3306/sakai?useUnicode=true&characterEncoding=UTF-8
#数据库类型
vendor@org.sakaiproject.db.api.SqlService=mysql
#配置Hibernate
hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect
#自动创建表,索引
auto.ddl=true
SAKAI开发环境
1. 安装apache-maven-2.2.1
安装到D盘根目录下,在环境变量中添加
MAVEN_HOME为D:\apache-maven-2.2.1
PATH中加上D:\apache-maven-2.2.1\bin
修改D:\apache-maven-2.2.1\conf\settings.xml文件,加上
D:/m2/repository
2. 将sakai-src-2.8.0.zip解压到E:\SAKAI目录下
3. 在任意目录下打开命令行窗口功能
若要将 命令提示符 命令添加到快捷菜单,将以下文本复制到一个名为 Cmdhere.reg 的文件:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\shell\OpenNew]
@="Command Prompt"
[HKEY_CLASSES_ROOT\Directory\shell\OpenNew\Command]
@="cmd.exe /k cd %1"
双击 Cmdhere.reg 文件会自动添加注册表项。
4. 在E:\SAKAI\sakai-src-2.8.0目录下打开命令行窗口
常用Maven命令
mvn clean
mvn compile
mvn install #先编译,生产jar或war文件,再存入local repository
mvn -Dmaven.tomcat.home=E:/SAKAI/tomcat sakai:deploy #部署到Tomcat
先运行mvn install将整个项目编译一边。
5. 在Eclipse中新建一个Workspace指向E:\SAKAI
6. 给Eclipse添加M2_REPO变量
选择菜单 Window -> Preferences -> Java -> Build Path -> Classpath Variables。
添加 M2_REPO classpath variable 指向$USER_HOME/.maven/repository
7. 在E:\SAKAI\sakai-src-2.8.0下执行
mvn eclipse:clean
mvn eclipse:eclipse
这两个命令的功能是重新生产根目录下的.classpath文件,并在里面添加依赖包。
如果添加了新的依赖包,必须重新执行这两条命令。
8. 导入项目
将E:\SAKAI\sakai-src-2.8.0目录下的.classpath和.project删除。
从eclipse里面导入已存在工程,目录选E:\SAKAI\sakai-src-2.8.0。注意Copy projects into workspace不要勾选。
导入完成后,会有12个错误(在Eclipse中编译后产生27个错误),主要是没有找到webapp目录或bundle目录。
第一种情况,没有找到webapp目录。例如:login-render是WAR包子项目,它的编译依赖于login-render-engine-impl,而login-render-engine-impl编译路径的src里面,居然还用绝对路径引用了login-render,所以导致两个项目都不能编译,解决的方法就是在login-render-engine-impl里面删除对E:sakai-src-2.8.0/login/login-render-engine-impl/pack/src/webapp的引用。
再例如sakai-calendar-impl,选择编译路径中的Source,删除报错的那条记录。
一般项目的引用顺序是XXX-pack => XXX-impl => XXX-api 。
第二种情况,没有找到bundle目录是因为bundle目录被放到和项目同一级目录中,且没有建POM,Eclipse没有认到这个项目。解决方法也是在编译路径的Source中,删除报错的源目录的引用。
按照上述方法依次解决Eclipse中的所有错误。
Eclipse仅仅用于辅助开发编译,项目打包的时候还是用mvn install命令打包即可。