spring boot使用gradle打包怎么样排除指定jar包

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring boot使用gradle打包怎么样排除指定jar包相关的知识,希望对你有一定的参考价值。

参考技术A 不管是在Eclipse或是在IntelijIdea中,都有比较好的方法进行打包,但是在gradle时代,打JAR包就只好自己动手写脚本了。jar包其实就是把所有的class文件集合在一起,只要我们找到了编译时的输出目录即可。观察下,在build/intermediates/classes/release(debug)下有生成临时的class,这就是我们需要的路径了,然后,使用gradle中预定义Jar的task,进行配置即可。

idea spring-boot gradle mybatis

使用工具idea 2017.2开发,gradle构建项目,使用的技术有spring-boot、mybatis

1、新建项目

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

说明:1、src为源码路径,开发主要在src下

    2、src/main/java下放java文件

    3、src/main/resources下放配置文件

    4、src/test/java下放test测试案例

    5、build.gradle文件:gradle配置文件

 

2.配置build.gradle文件

buildscript { // 第三方插件
ext {
springBootVersion = \'1.5.6.RELEASE\'
}
repositories { // maven仓库地址
maven{url \'http://xxxx/\'} // 私库
mavenCentral()
}
dependencies { // 依赖项
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}

buildscript中的声明是gradle脚本自身需要使用的资源

apply plugin: \'java\' // java项目
apply plugin: \'eclipse\' // eclipse开发环境构建,生成所需要的.project,.classpath等文件
apply plugin: \'org.springframework.boot\'
jar {
baseName = \'shop-supplier\'
version = \'1.0.0-SNAPSHOT\'
}
version = \'1.0.0-SNAPSHOT\'
sourceCompatibility = 1.8
targetCompatibility = 1.8

repositories { // maven仓库地址
maven{url \'私服地址\'}
mavenCentral()
}

dependencies { // 依赖项
// web thymeleaf
compile(\'org.springframework.boot:spring-boot-starter-web\')
compile(\'org.springframework.boot:spring-boot-starter-thymeleaf\')

// test
testCompile(\'org.springframework.boot:spring-boot-starter-test\')

//添加 google二维码
compile \'com.google.zxing:core:3.2.0\'
}
3.配置mybatis


mybatis-config.xml:mybatis配置文件
mybatis/mapper文件夹下时mybatis的mapper.xml文件


3.application.properties:项目配置文件,内容如下:
# 数据库配置
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/dbname?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=round&transformedBitIsBoolean=true&autoReconnect=true&failOverReadOnly=false&allowMultiQueries=true
spring.datasource.username=root
spring.datasource.password=1

spring.datasource.driver-class-name=com.mysql.jdbc.Driver
# mybatis配置
mybatis.config-location=classpath:mybatis-config.xml // 配置文件位置
mybatis.typeAliasesPackage=com.my.domain // 实体类包
mybatis.mapper-locations=classpath:mybatis/mapper/*.xml // mapper文件位置
#log
logging.file=log.log
logging.level.com=info
logging.level.org=info
logging.level.com.my=debug
debug=true
logging.level.com.my.web = debug

4.mapper文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.my.dao.xxxDao">
  <!-- 通用结果集 -->
  <resultMap id="BaseResultMap" type="com.my.domain.xxx">
    <id column="id" property="id"/>
    <result column="user_name" property="userName"/>
    <result column="字段" property="属性"/>
  </resultMap>
  
  <!-- 插入 -->
  <insert id="方法名" paramType="com.my.domain.实体类">
    INSERT INTO 表名 (id, user_name) VALUES (#{属性id}, #{属性userName})
  </insert>

  <!-- 删除 -->
  <delete ... >
  
  <!-- 修改 -->
  <update ... >

  <!-- 查询 -->
  <select ... >
</mapper>

 

 

5.mybatis-config.xml配置设置

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<setting name="logImpl" value="SLF4J" />
</settings>
</configuration>

 

6.main方法入口

@SpringBootApplication // 入口注解
@MapperScan("com.my.dao") // mybatis扫描路径
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}

注解:1.controller注解:

    @RestCotroller类前--返回json  等价于  @Controller类前 + @ResponseBody方法前

    @RequestMapping(value = "/order" method = RequestMethod.GET)类前或方法前

    @Valid入参对象前验证入参,参数后面跟BindingResult参数,接收验证信息

    @NotNull @NotEmpty @Length @NotBlank @Min @Size @JsonFormat入参对象属性前

   2.service:

    @Service类前

    @Transactional(rollbackFor = Exception.class)方法前

   3.dao:

    @Mapper类前

    @Param参数前

  

 

定时器:
  1.在main入口java注解@EnableScheduling

  2.定时器java注解@Component

  3.定时方法注解@Scheduled(cron = "秒 分 时 天 月 星期 年"

一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素。

按顺序依次为

秒(0~59)

分钟(0~59)

小时(0~23)

天(月)(0~31,但是你需要考虑你月的天数)

月(0~11)

天(星期)(1~7 1=SUN 或 SUN,MON,TUE,WED,THU,FRI,SAT)

7.年份(1970-2099)

其中每个元素可以是一个值(如6),一个连续区间(9-12),一个间隔时间(8-18/4)(/表示每隔4小时),一个列表(1,3,5),通配符

 

    

 

以上是关于spring boot使用gradle打包怎么样排除指定jar包的主要内容,如果未能解决你的问题,请参考以下文章

将java打jar包成linux后台服务service

gradle spring-boot 本地 配置

飞舞的spring boot2(52)——Spring Boot Gradle插件

idea spring-boot gradle mybatis

Spring Boot Gradle 打包可执行Jar文件!

Spring Boot发布将jar包转为war包。