吐个槽可忽略
这几天不是接到个新活,要把 xwiki 融合到我们的项目里,于是我找到原来负责修改 xwiki 界面的同事,让他把代码给我。等我拿到手一看,我的内心几乎是崩溃的,竟然没有做代码版本控制,全部在初始文件的基础上做修改。天哪,这我哪知道你修改了些东西,真是不给后面接盘侠留活路。一直以为改代码之前先建版本控制,是程序员的基本常识,没想到在吾司再次被突破认知了。
我的环境
- macOS 10.12.6
- Java 8 Update 161
- Jetty 9.4.8
- MySQL
首先到xwiki官网下载稳定版本,我选择的是8.4.5
war包版本
接着在本地MySQL创建xwiki
数据库,讲下载好的war包解压到jetty
的webapps
的目录下面。
.../jetty9/webapps/xwiki
进到xwiki
的WEB-INF
文件夹下,找到hibernate.cfg.xml
该文件,定位到如下代码段,我的是在89行。
<property name="connection.url">jdbc:hsqldb:file:${environment.permanentDirectory}/database/xwiki_db;shutdown=true</property>
<property name="connection.username">sa</property>
<property name="connection.password"></property>
<property name="connection.driver_class">org.hsqldb.jdbcDriver</property>
<property name="dialect">org.hibernate.dialect.HSQLDialect</property>
此处是嵌入式数据库hsqldb
,为了方便部署改用MySQL
,可以参照我以下配置,我本地有个数据库名为xwiki
,所以把写进connection.url
的配置里。
<property name="connection.url">jdbc:mysql://localhost/xwiki?useUnicode=true&characterEncoding=utf-8</property>
<property name="connection.username">root</property>
<property name="connection.password"></property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
下载MySQL驱动包,把它放进 xwiki 根目录下的WEB-INF/lib/
里
回到jetty
的根目录下,打入以下命令就能启动服务了
java -jar start.jar -Dxwiki.data.dir=/Users/winston/Documents/xwiki/data
JVM启动参数-Dxwiki.data.dir
,设置xwiki
的数据目录,包括日志、缓存,安装插件之后回存放到extension
目录下
到浏览器下输入http://localhost:8080
,看到该页面就代表成功运行了
如果选择 Continue 会进行在线安装ui插件,但是速度实在感人。选择 Never 直接跳过,然后用我提供的事先装好插件打包好的压缩包,解压到 xwiki 根目录下的WEB-INF
下,覆盖原有的extensions
目录,重启jetty
服务。
链接: https://pan.baidu.com/s/1i67dGwP 密码: v7nf