«

Mybatisplus创建SpringBoot工程打包错误如何解决

时间:2024-8-5 09:34     作者:韩俊     分类: Java


这篇文章主要介绍“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   使用&lsquo;.&rsquo;来进行分隔                     

yml   使用&lsquo;:&rsquo;来进行分隔

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 '&Ouml;&ETH;&sup1;&uacute;&plusmn;&ecirc;&times;&frac14;&Ecirc;&plusmn;&frac14;&auml;' 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方法、构造器都会自动创建,,这样的话在实际开发过程中我们就不用这么麻烦了。

标签: java spring

热门推荐