这篇文章主要介绍“Mybatisplus创建SpringBoot工程打包错误如何解决”,在日常操作中,相信很多人在Mybatisplus创建SpringBoot工程打包错误如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mybatisplus创建SpringBoot工程打包错误如何解决”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
创建Spring Boot工程
a.初始化工程
dependencies:依赖关系
b.引入依赖
在pom.xml的dependencies中加入依赖关系
<!--mybaties-plus启动器--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.5.1</version> </dependency> <!--lombok用于简化实体类开发--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <!--mysql驱动--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency>
这里要特别注意我们的springboot工程刚创建的时候是没有添加版本的,有爆红错误,Plugin 'org.springframework.boot:spring-boot-maven-plugin:' not found。
这里只需要加上和开头处和父类版本一样的version即可
然后我们对maven进行刷新,让其安装对应的依赖关系,直到这些爆红的错误消失为止,如果有的错误没有消失(但是我们IDEA中已经安装完了相应的依赖),这个时候我们最好进行重启一下IDEA。
编写代码
a.配置application.yml
首先区分properties文件和yml文件的不同
properties 使用‘.’来进行分隔
yml 使用‘:’来进行分隔
yml中的一些格式比properties的要求要高。
创建application.yml只需要复制application.properties粘贴到resources中然后修改文件名即可。
spring.datasource.type=com.zaxxer.hikari.HikariDataSource spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
了解一下配置application.properties
8.0版本以上的mysql需要引用的Driver是:
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
5.0版本以上的mysql需要引用的Driver是:
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
查看springboot使用的mysql版本需要在pom.xml中按ctrl打开mysql查看版本
application.yml配置
spring: #配置数据源信息系 datasource: #配置数据源类型 type: com.zaxxer.hikari.HikariDataSource driver-class-name: com.mysql.cj.jdbc.Driver #配置连接数据库的个人信息 url: jdbc:mysql://localhost:3306/mybatis_plus?serverTimezone=GMT%2B8&characterEncoding=utf-8&useSSL=false username: root password: abc123
SpringBoot 版本低于2.4.3(不含),Mysql驱动版本大于8.0时,需要在url连接串中配置时区,否则会报错java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more
b.启动类
package com.atzeren.mybatiesplus; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class MybatiesplusApplication { public static void main(String[] args) { SpringApplication.run(MybatiesplusApplication.class, args); } }
c.创建实体类
package com.atzeren.mybatiesplus.pojo; import lombok.*; /** * @Program:mybatiesplus * @description:pojo * @author: jiangzeren * @create: 2022-11-01 16 **/ @Data public class User { private Long id; private String name; private Integer age; private String email; }
打包出错
C:Usersjiangzeren.jdkscorretto-1.8.0_342injava.exe -Dmaven.multiModuleProjectDirectory=D:IDEAAAmybatiesplus "-Dmaven.home=D:IDEAAAIntelliJ IDEA 2020.3.4pluginsmavenlibmaven3" "-Dclassworlds.conf=D:IDEAAAIntelliJ IDEA 2020.3.4pluginsmavenlibmaven3inm2.conf" "-Dmaven.ext.class.path=D:IDEAAAIntelliJ IDEA 2020.3.4pluginsmavenlibmaven-event-listener.jar" "-javaagent:D:IDEAAAIntelliJ IDEA 2020.3.4libidea_rt.jar=56330:D:IDEAAAIntelliJ IDEA 2020.3.4in" -Dfile.encoding=GBK -classpath "D:IDEAAAIntelliJ IDEA 2020.3.4pluginsmavenlibmaven3ootplexus-classworlds-2.6.0.jar;D:IDEAAAIntelliJ IDEA 2020.3.4pluginsmavenlibmaven3ootplexus-classworlds.license" org.codehaus.classworlds.Launcher -Didea.version=2020.3.4 compile
[INFO] Scanning for projects...
[INFO]
[INFO] ----------------------< com.atzeren:mybatiesplus >----------------------
[INFO] Building mybatiesplus 0.0.1-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[WARNING] The artifact mysql:mysql-connector-java:jar:8.0.31 has been relocated to com.mysql:mysql-connector-j:jar:8.0.31
[INFO]
[INFO] --- maven-resources-plugin:3.2.0:resources (default-resources) @ mybatiesplus ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Using 'UTF-8' encoding to copy filtered properties files.
[INFO] Copying 2 resources
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.543 s
[INFO] Finished at: 2022-11-01T16:20:17+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources) on project mybatiesplus: Input length = 1 -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
Process finished with exit code 1
发现再次刷新maven之后运行成功了。
对比代码发现原来是java版本的问题,把java.version改为1.8即可。
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.7.5</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.atzeren</groupId> <artifactId>mybatiesplus</artifactId> <version>0.0.1-SNAPSHOT</version> <name>mybatiesplus</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <!--mybaties-plus启动器--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.5.1</version> </dependency> <!--lombok用于简化实体类开发--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <!--mysql驱动--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>2.7.5</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <!--修改版本--> <version>3.1.0</version> </plugin> </plugins> </build> </project>
这只是我遇到的问题,仅对我有效,如果你也是jdk版本默认设置为17或者18也可能会产生这个问题,为了验证是不是jdk产生的影响,我又重新将jdk版本设置为了17,发现仍然出现之前的情况。
正确方法打包之后get、set方法、构造器都会自动创建,,这样的话在实际开发过程中我们就不用这么麻烦了。