Mybatisplus创建Spring Boot工程打包错误的解决方式

2023-03-15 11:03:31 创建 错误 打包

 创建spring Boot工程

a.初始化工程

21f906d75b7746428a9575b759f86da6.png

3d0b12bed0a04cf197d319e7bb286dfe.png

fe0ac147c16149cc9c7685b4c95b8b80.png

6f9fa9e37d734549abc3dd3d74b7f790.png

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.*;
 

@Data
public class User {
    private Long id;
    private String name;
    private Integer age;
    private String email;
 
}

打包出错

C:\Users\jiangzeren\.jdks\corretto-1.8.0_342\bin\java.exe -DMaven.multiModuleProjectDirectory=D:\IDEAAA\mybatiesplus "-Dmaven.home=D:\IDEAAA\IntelliJ IDEA 2020.3.4\plugins\maven\lib\maven3" "-Dclassworlds.conf=D:\IDEAAA\IntelliJ IDEA 2020.3.4\plugins\maven\lib\maven3\bin\m2.conf" "-Dmaven.ext.class.path=D:\IDEAAA\IntelliJ IDEA 2020.3.4\plugins\maven\lib\maven-event-listener.jar" "-javaagent:D:\IDEAAA\IntelliJ IDEA 2020.3.4\lib\idea_rt.jar=56330:D:\IDEAAA\IntelliJ IDEA 2020.3.4\bin" -Dfile.encoding=GBK -classpath "D:\IDEAAA\IntelliJ IDEA 2020.3.4\plugins\maven\lib\maven3\boot\plexus-classworlds-2.6.0.jar;D:\IDEAAA\IntelliJ IDEA 2020.3.4\plugins\maven\lib\maven3\boot\plexus-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

 遇到这一类问题可以参考以下这篇文章:Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources

看了这几篇博客,发现还是没有什么很大的用处,于是我将尚硅谷的pom.xml打开,复制粘贴到了我的pom.xml中,发现再次刷新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方法、构造器都会自动创建,,这样的话在实际开发过程中我们就不用这么麻烦了。

总结

到此这篇关于Mybatisplus创建Spring Boot工程打包错误的解决方式的文章就介绍到这了,更多相关SpringBoot工程打包错误内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

相关文章