开源网络教学平台SAKAI开发环境的搭建
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
访问 http://localhost:8080/portal 。账号密码都是admin
SAKAI的BIN包安装
在正式运行环境中部署一般使用该方法。
Tomcat的调优过程参见:https://confluence.sakaiproject.org/display/DOC/Sakai+CLE+2.8+Release+Notes
解压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文件,加上
<localRepository>D:/m2/repository</localRepository>
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命令打包即可。
开源网络教学平台SAKAI开发环境的搭建相关推荐
- 基于jsp(java)网络教学平台系统的设计和开发(含源文件)
获取项目源文件,联系Q:1225467431,可指导毕设,课设 摘 要 远程教育作为现代教育技术的形式,给教育思想与技术带来了革命性的变革,己经成为现代教育的必然要求.远程教育要得以顺利.高效的实施, ...
- springboot大学生网络教学平台的设计与实现毕业设计源码281819
目 录 摘要 1 绪论 1.1研究背景及意义 1.2研究现状 1.3系统开发技术的特色 1.4论文结构与章节安排 2大学生网络教学平台系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1数 ...
- 大学生网络教学平台的设计与实现 毕业设计-附源码281819
目 录 摘要 1 绪论 1.1研究背景及意义 1.2研究现状 1.3系统开发技术的特色 1.4论文结构与章节安排 2大学生网络教学平台系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1数 ...
- 基于php的网络教学平台,基于PHP技术的网络教学平台的设计与实现
崔静静+++项小书+++吴燕红 摘要:该文基于简易.灵活的PHP语言及Sql Server数据库技术,设计并实现网络教学平台.该平台重点实现了在线测试.在线答疑等功能,为课堂教学提供了有益补充,增强了 ...
- 基于jsp(java)网络教学平台系统的设计与实现
欢迎添加微信互相交流学习哦! 项目源码:https://gitee.com/oklongmm/biye2 摘 要 远程教育作为现代教育技术的形式,给教育思想与技术带来了革命性的变革,己经成为现代教育的 ...
- matlab开发环境,Windows 下开源开发环境的搭建
因项目需要在 Windows 下测试开发的程序, 所以研究了一下如何在 Windows 下搭建基于 gcc 的开源开发环境. MSYS2 是 Windows 下的一款开源软件构建和发布平台, 网址为 ...
- 便携式轻量级可编程网络教学平台OpenBox-S4
OpenBox-S4是一款轻量级可编程网络教学平台产品,设备采用Xilinx公司Zynq-7000 SOC芯片,集成双核Cortex-A9 处理器,512MB DDR3内存:外部提供4路千兆以 ...
- java计算机毕业设计网络教学平台源码+数据库+系统+lw文档+mybatis+运行部署
java计算机毕业设计网络教学平台源码+数据库+系统+lw文档+mybatis+运行部署 java计算机毕业设计网络教学平台源码+数据库+系统+lw文档+mybatis+运行部署 本源码技术栈: 项目 ...
- 基于PHP的网络教学平台设计与实现
目 录 摘 要 1 Abstract 2 前 言 3 第1章 绪论 4 1.1 课题研究的背景及意义 4 1.2 网络教学平台存在的问题和原因 6 1.3 本文研究内容 7 1.4 本文的组织结构 7 ...
- STM32开源开发环境的搭建
STM32开源开发环境的搭建 Eclipse+ GNU ARM Eclipse Plug-in+Sourcery G++ Lite Edition for ARM+OPENCD+Jlink的开源开发环 ...
最新文章
- 如何最好一个管理者?
- android Service oncreate 在UI线程 何时用service,何时用thread
- cmake / cmake --build 如何理解
- Python中包(package)的调用方式
- Symbian开发平台的搭建之VC++6.0Carbide C++ 2.0
- java bean jsp_JavaBean与Jsp
- 经历了px、em之后,用 rem 适配屏幕
- Python学习笔记,爬取笔趣阁小说
- 对int array进行排序
- Hadoop生态圈-Flume的组件之sink处理器
- Flutter SDK升级
- 组件Button的简单用法
- 《Arduino开发实战指南:机器人卷》一1.3 安装Arduino Uno驱动
- 强推!阿里数据科学家一次讲透数据中台
- [Go实战]简单使用scylladb
- springboot 动态数据源问题
- 什么是机器学习,为什么它如此重要?
- 292. Nim 游戏(简单题)
- 外企工作日常:全英文CrossTalk反串讲-讲前紧张,讲后淡定
- 2022年软考可以参加哪些科目考试?熟知
热门文章
- 最新华为悦盒V9_V9U_V9E_V9A_V8通用傻瓜式破解
- unity 创建中文自定义字体
- 高等数学(第七版)同济大学 习题1-9 个人解答
- MMKV_Android数据持久化方案调研-MMKV SP REALM ROOM WCDB...
- Git提交代码的流程
- sql插入数据时自动插入时间
- Photoshop快捷键总结
- Phantomjs 生成多页PDF
- EndNoteX7中conference proceeding和conference paper的区别
- MacBook NodeJS 下载 安装 配置环境变量 npm registry 配置