activiti中出现Error querying database.Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException
参考了https://blog.csdn.net/ytx2014214081/article/details/77201218,发现:
原因是activiti和mybatis版本冲突的问题,把mybatis版本降低一些。
activiti的5.18和mybatis的3.2.8及以下版本亲测可以。
于是我把activiti版本调低,我是用maven创建的activiti项目,原来设activiti版本为5.17.0,现在调成了5.4
pom中dependencies的配置如下:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-engine</artifactId>
<version>5.4</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.5</version>
</dependency>
</dependencies>
但是接下来我又发现,在idea中maven包根本下不下来,
我本地搭建了私服,Central默认连接(http://repo1.maven.org/maven2)被我改成了阿里云maven仓库地址(http://maven.aliyun.com/nexus/content/groups/public/)
既然阿里云的maven仓库是国外maven*仓库(https://blog.csdn.net/whbing1471/article/details/53983779)的镜像,应该两边都是一样的才对
我专门到这两个网址上找了下activiti-engine 5.4,结果都没有找到
但我在maven repository中确实是搜索到了,
问题关键:
我仔细把网页上的英文都看了遍,发现上面截的图里最后一句话Note:this artifact is ...
意思是说activiti-5.4这个jar包目前不在maven central库中,而在Activiti库中。现在引的是阿里云maven镜像地址,而central库和阿里云maven镜像是相同的,所以当然拿不到Activiti库里的东西了。
解决办法:
使用私服自带的仓库组功能,自己在添加一个代理仓库(proxy,私服的central库就是一个代理库),地址指向Activiti库,然后把建好的代理仓库添加到仓库组中,默认有一个public repositories,添加到这个里面就行了。
具体可以参考nexus内置仓库和配置仓库组