XWiki 12.10.5 + MySql 8.0.23 + Tomcat 9 + Windows 10安装过程中的一些问题及其解决

几年前用Xwiki 10 + MySql 5.7 + Tomcat 9 + Windows Server 2008 R2配合安装过一次Xwiki,基本照着网上的教程操作就行,不记得碰到过什么麻烦,因此做完后印象不深。最近需要再搭建一套Xwiki,操作过程中居然碰到不少坑,现将其中过程记录如下以供后来者参考。

搭建Xwiki需要的组件

  • Xwiki 12.10.5安装包:我用的从官方网站下载的war包;
  • Tomcat 9.2:从官方网站下载;
  • JDK: 从Oracle官网下载的Java SE 8u281 JDK;
  • MySql:从官网下载的社区版MySql community V8.0.23;

JDK和MySql的安装顺序关系不大;Tomcat最好在JDK之后,配置Tomcat的过程中会用到JDK相关的信息;最后安装Xwiki。安装完每个组件后,确保该组件安装配置正常。

1)JDK的安装。两点提请注意:

  • Xwiki正常使用需要的是JDK,而不是JRE。我的电脑是先前就安装有JRE的,一开始以为有JRE就行,直到看到错误信息提示JAVA_HOME环境变量的设置有问题,重新下载安装JDK并重新配置JAVA_HOME(我的电脑--属性--高级--环境变量--系统变量--JAVA_HOME)后问题得到解决。这是我这次碰到的第一个坑。
  • JDK版本。最新的Java已经发布到16了,但8仍然是当前最主流,引用最广泛的。

2)Tomcat 9 的安装

  • 可以参考:https://www.jianshu.com/p/b98706bc716e。
  • 可以修改/配置端口号和JAVA_HOME变量;

3)MySql的安装和配置

  •  安装过程比较常规,安装完后记得创建xwiki数据库和xwiki账号并分配合适的权限,参考官方文档MySQL Installation (XWiki.org)
  • JDBC driver的问题:MySql5.7及最新的MySql8已经在用com.mysql.cj.jdbc.Driver,这一项其实不需要修改,但最好确认一下;
  • MySql驱动复制:官方war包中只包含了5.X版本的MySql驱动,需要自己下载MySql8的Connector驱动Java版(mysql-connector-java-8.0.23.jar),并复制一份到Tomcat的相关目录中,参考我的D:\Tomcat9\apache-tomcat-9.0.44\webapps\ROOT\WEB-INF\lib。这一步是我这次爬的坑里,最深的一个;
  • 其它在官方文档中提到的还有时区等,我的Hibernate.conf.xml关键配置供参考:
    <property name="hibernate.connection.url">jdbc:mysql://xxx.xxx.xxx.xxx:3306/xwiki</property>
    <property name="hibernate.connection.username">xwiki</property>
    <property name="hibernate.connection.password">XXXXXXXX</property>
    <property name="hibernate.connection.driver_class">com.mysql.cj.jdbc.Driver</property>
    <property name="hibernate.connection.serverTimezone">Asia/Shanghai</property>
    <property name="hibernate.dbcp.poolPreparedStatements">true</property>
    <property name="hibernate.dbcp.maxOpenPreparedStatements">20</property>

    <property name="hibernate.connection.charSet">UTF-8</property>
    <property name="hibernate.connection.useUnicode">true</property>
    <property name="hibernate.connection.characterEncoding">utf8</property>

Note:安装配置好后,一直较忙,没能及时记录。本文距离实际安装配置已经过去了2个月,当时的很多细节已经记不起来,只能记住其中的几个关键点,很是遗憾。

热门相关:仙城纪