解决:net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: “=“ “=“

报错信息:

Caused by: net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "=" "="
    at line 3, column 22.

Was expecting one of:

Caused by: net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "=" "="
    at line 3, column 22.

Was expecting one of:

    "&"
    "&&"
    ")"
    "::"
    "<<"
    ">>"
    "AND"
    "AT"
    "COLLATE"
    "CONNECT"
    "EXCEPT"
    "FOR"
    "GROUP"
    "HAVING"
    "INTERSECT"
    "MINUS"
    "OR"
    "START"
    "UNION"
    "XOR"
    "["
    "^"
    "|"

	at net.sf.jsqlparser.parser.CCJSqlParser.generateParseException(CCJSqlParser.java:30694)
	at net.sf.jsqlparser.parser.CCJSqlParser.jj_consume_token(CCJSqlParser.java:30527)
	at net.sf.jsqlparser.parser.CCJSqlParser.FromItem(CCJSqlParser.java:7692)
	at net.sf.jsqlparser.parser.CCJSqlParser.PlainSelect(CCJSqlParser.java:5443)
	at net.sf.jsqlparser.parser.CCJSqlParser.SetOperationList(CCJSqlParser.java:5645)
	at net.sf.jsqlparser.parser.CCJSqlParser.SelectBody(CCJSqlParser.java:5324)
	at net.sf.jsqlparser.parser.CCJSqlParser.Select(CCJSqlParser.java:5319)
	at net.sf.jsqlparser.parser.CCJSqlParser.SingleStatement(CCJSqlParser.java:232)
	at net.sf.jsqlparser.parser.CCJSqlParser.Statement(CCJSqlParser.java:153)
	at net.sf.jsqlparser.parser.CCJSqlParserUtil.parseStatement(CCJSqlParserUtil.java:188)

网上看了很多,说是因为MyBatis_Plus框架中,有多租户的功能,MP会进行数据权限的过滤,但是都试了试发现并不生效,记着之前遇到过这个问题,是因为那个包的版本原因导致的,但是忘了,这次就记下来吧,免得自己又忘了。

原因:

mybatis-plus包与原本存在的pagehelper存在com.github.jsqlparser:jsqlparser冲突

解决方案:

解决:

1.排除其他依赖中的jsqlparser的包,引入新的jsqlparser,也可以只排除在其中一个的,使用另一个的jsqlparser包,不用重新导入

排除pageHelper中的jsqlparser

            <dependency>
                <groupId>com.github.pagehelper</groupId>
                <artifactId>pagehelper-spring-boot-starter</artifactId>
                <version>${pagehelper.boot.version}</version>
                <exclusions>
                    <!-- 解决jsqlparser 依赖版本冲突-->
                    <exclusion>
                        <artifactId>jsqlparser</artifactId>
                        <groupId>com.github.jsqlparser</groupId>
                    </exclusion>
                </exclusions>
            </dependency>

排除Mybatis-Plus中的jsqlparser

        <!-- mybatis-plus 增强CRUD -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.1</version>
            <exclusions>
                <!-- 解决jsqlparser 依赖版本冲突&ndash;&gt;-->
                <exclusion>
                    <artifactId>jsqlparser</artifactId>
                    <groupId>com.github.jsqlparser</groupId>
                </exclusion>                      				
            </exclusions>
        </dependency>

引入新的jsqlparser

        <dependency>
            <groupId>com.github.jsqlparser</groupId>
            <artifactId>jsqlparser</artifactId>
            <version>4.2</version>
        </dependency>

2.修改MyBatis-plus或pageHelper包的版本,我这里使用的Mybatis-Plus的版本是3.4.1,pageHelper的版本是1.3.0

 

可以根据maven依赖原则适当的调整版本,顺序或者排除掉有冲突的jar包

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>