一 前情概要

自己的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

gradle 生成 pom,引用mybatis-plus源代码到自己的工程中的更多相关文章

  1. JAVA - SpringBoot项目引用MyBatis操作数据库

    JAVA - SpringBoot项目引用MyBatis操作数据库 1. 创建SpringBoot项目,参考:https://www.cnblogs.com/1285026182YUAN/p/1232 ...

  2. mybatis 自动生成代码(mybatis generator)

    pom.xml 文件配置 引入 mybatis generator <properties> <mysql.connector.version>5.1.44</mysql ...

  3. FreeMarker 生成Java、mybatis文件

    FreeMarker 生成Java.mybatis文件 将mysql数据库表通过FreeMarker生成对应的Java文件和对应的mybatis文件. FreeMarker是一款模板引擎: 即一种基于 ...

  4. 外包采用Gradle生成多套app打包

    目的:可修改app名称.icon.包名.接口地址及其它 一.      修改基本配置(包名.版本号等) 配置module下的build.gradle 添加productFlavors例如: produ ...

  5. 只包含schema的dll生成和引用方法

    工作中,所有的tools里有一个project是只包含若干个schema的工程,研究了一下,发现创建这种只包含schema的dll其实非常简单. 首先,在visual studio-new proje ...

  6. 错误 4 自定义工具错误: 无法生成服务引用“DepartMentService”的代码。请检查其他错

    原文:错误 4 自定义工具错误: 无法生成服务引用"DepartMentService"的代码.请检查其他错 问题:     错误 4 自定义工具错误: 无法生成服务引用" ...

  7. (转)通过maven,给没有pom文件的jar包生成pom文件,maven项目引入本地jar包

    文章完全转载自 : https://blog.csdn.net/qq_31289187/article/details/81117478 问题一: 经常遇到公司私服或者中央仓库没有的jar包,然后通过 ...

  8. 错误 3 未找到类型“sdk:Label”。请确保不缺少程序集引用并且已生成所有引用的程序集。

    错误: 错误 3 未找到类型“sdk:Label”.请确保不缺少程序集引用并且已生成所有引用的程序集. 错误 1 命名空间“http://schemas.microsoft.com/winfx/200 ...

  9. 通过lib生成pom坐标

    package com.jinloooong.demo.util; import com.alibaba.fastjson.JSONObject; import org.dom4j.Element; ...

随机推荐

  1. linux开发脚本自动部署及监控

    linux开发脚本自动部署及监控 开发脚本自动部署及监控一.编写脚本自动部署反向代理.web.nfs:要求:1.部署nginx反向代理三个web服务,调度算法使用加权轮询: #!/bin/sh ngx ...

  2. 介绍Provide以及Inject

    介绍 Vue 的 Provide 以及 Inject Provide 以及 Inject 是 Vue 中用于祖先元素向其所有后台元素注入依赖的接口. 具体用法 // Data.vue ... expo ...

  3. java 3类的继承

    模板类 泛型程序设计方法 类的组合 类的继承 java只有单继承 隐藏和覆盖 用super.x调用 访问静态属性 静态属性不继承 静态成员只有一个,不会有副本 静态成员只有一个所有的超类和子类 方法的 ...

  4. Mathematica 和 MATLAB、Maple 并称为三大数学软件

    Mathematica是一款科学计算软件,很好地结合了数值和符号计算引擎.图形系统.编程语言.文本系统.和与其他应用程序的高级连接.很多功能在相应领域内处于世界领先地位,它也是使用最广泛的数学软件之一 ...

  5. java 使用 POI 操作 XWPFDocumen 创建和读取 Office Word 文档基础篇

    注:有不正确的地方还望大神能够指出,抱拳了 老铁! 参考 API:http://poi.apache.org/apidocs/org/apache/poi/xwpf/usermodel/XWPFDoc ...

  6. Directx11教程(55) 建立球形和锥形物体

    原文:Directx11教程(55) 建立球形和锥形物体 本教程中,我们新建2个model class,SphereModelClass以及CylinderModelClass,分别用来表示球形和锥形 ...

  7. iOS app 设计推荐

    见微知著,谈移动缺省页设计 http://www.cocoachina.com/design/20150303/11186.html Facebook产品设计总监!设计APP时的14个必考题 http ...

  8. oralce使用INSERT语句向表中插入数据

    INSERT   INTO    table[ (column [, column. . .])] VALUES            (value [,value . . .]); v  插入的数据 ...

  9. Java练习 SDUT - 2669_2-2 Time类的定义

    2-2 Time类的定义 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 通过本题目的练习可以掌握类与对象的定义: 设计 ...

  10. HDU-1024_Max Sum Plus Plus

    Max Sum Plus Plus Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) P ...