zoukankan      html  css  js  c++  java
  • gradle 生成 pom,引用mybatis-plus源代码到自己的工程中

    一 前情概要

    自己的maven工程使用mybatis-plus,然后想用热部署加载mapping文件。经过各种探索之后实现了,但是修改了xml文件后,就不断在控制台提示“mapper xxx is ignored, because it exists, maybe from xml file”,看着烦。

    翻看了源代码,是有这样的提示,我原先想法很简单,消除这个提示就好了。于是想mybatis-plus源代码引入到自己的工程下面,方便查看源代码。

    二 方案和思路

    1、在idea中用import module的办法加入 mybatis-plus。但我的工程是maven构建的,mybatis-plus是gradle的构建的。需要通过gradle生成pom.xml文件才能引入。

    2、后来想到以前用eclipse link source加载了源代码。但没有用。毕竟很久没有用eclipse了。

    三 坎坷过程

    gradle生成pom.xml的过程很坎坷。虽然默认会在poms下生成,但是我想生成后就能像真正的maven工程一样。于是各种摸索。最后是好了,都不知道是那几次实验后的合并结果。

    虽然导入了 mybatis-plus的源代码,但是启动了报错,我以为是 mybatis-plus的问题,却没想到是自己代码本身的问题,又坑了一下。

    因为之前试过一次确实是 mybatis-plus的问题。

    好吧,坎坷细节说不完。

    四 最终解决

    我使用的是  mybatis-plus 3.1.1 。最终转换成了maven工程,然后在自己的工程引入 mybatis-plus的各种包,然后启动,终于好了。

    1、转换maven工程,用gradle生成pom.xml文件必须要做的:

    在根目录的build.gradle头部合适位置增加内容(红色字体),classpath 'commons-lang:commons-lang:2.6' 必须要有

    apply plugin: 'java'
    apply plugin: 'maven'
    
    task convert2Maven {
        doLast {
            file("$buildDir/poms/pom-default.xml").renameTo(file("$rootDir/pom.xml"))
        }
    }
    install.dependsOn(convert2Maven)
    
    buildscript {
        repositories {
            maven { url "https://maven.aliyun.com/nexus/content/groups/public" }
            mavenCentral()
            maven { url "https://plugins.gradle.org/m2/" }
        }
    
        dependencies {
            //noinspection DifferentKotlinGradleVersion
            classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.30'
            classpath "gradle.plugin.com.hierynomus.gradle.plugins:license-gradle-plugin:0.15.0"
            classpath 'commons-lang:commons-lang:2.6'
    
        }
    }

    然后subprojects要增加内容,在其他task同级位置增加 writeNewPom

        apply plugin: 'java'
        apply plugin: 'maven'
        apply plugin: 'idea'
    
    
    task writeNewPom {
    pom {
    project {
    groupId mvn_groupId
    artifactId mvn_artifactId
    version mvn_version
    packaging 'jar'
    }
    }.writeTo("$buildDir/../pom.xml")
    }
    
    

    2、自己工程要引入的:

            <!-- 如果加载本地的mybatis就不用mybatis-spring-boot-starter 不然会出错
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
            </dependency>
            -->
                <dependency>
                    <groupId>com.baomidou</groupId>
                    <artifactId>mybatis-plus-boot-starter</artifactId>
                    <version>3.1.1</version>
                </dependency>
                <dependency>
                    <groupId>com.baomidou</groupId>
                    <artifactId>mybatis-plus-annotation</artifactId>
                    <version>3.1.1</version>
                </dependency>
                <dependency>
                    <groupId>com.baomidou</groupId>
                    <artifactId>mybatis-plus-core</artifactId>
                </dependency>
                <dependency>
                    <groupId>com.baomidou</groupId>
                    <artifactId>mybatis-plus-dts</artifactId>
                    <version>3.1.1</version>
                </dependency>
                <dependency>
                    <groupId>com.baomidou</groupId>
                    <artifactId>mybatis-plus-extension</artifactId>
                    <version>3.1.1</version>
                </dependency>
                <dependency>
                    <groupId>com.baomidou</groupId>
                    <artifactId>mybatis-plus-annotation</artifactId>
                    <version>3.1.1</version>
                </dependency>
                <dependency>
                    <groupId>com.baomidou</groupId>
                    <artifactId>mybatis-plus-core</artifactId>
                    <version>3.1.1</version>
                </dependency>

    3、如果出现各种报错,就把缺失的包都引入就好了。

    writeNewPom

  • 相关阅读:
    Linux免密登录
    HDFS shell 常用命令
    zabbix4.4图表中文显示乱码解决办法
    安装zabbix-agent
    安装配置zabbix4.4
    elasticsearch插件sql安装
    dedecms调用头部文件 dede:include时页面出现一行空白的解决方案
    DedeCMS <=5.7 SP2 file_class.php 任意文件上传漏洞
    DedeCMS后台文件任意上传漏洞media_add.php的修改方法
    织梦DEDECMS任意文件上传漏洞与注入漏洞修复方法
  • 原文地址:https://www.cnblogs.com/luodengxiong/p/11480297.html
Copyright © 2011-2022 走看看