springboot+gradle 构建多模块项目的步骤

springboot用以进行web项目开发的便捷性,本文不再赘述,主要是想将工作中基于springboot与gradle的多模块项目的构建经验进行总结与归纳。

1.创建项目

首先安装java和gradle,本文选用的java版本为1.8.0_40,gradle版本为2.10,安装过程本文不再赘述。

其次创建项目,名称为 springboot-mm:

mkdir springboot-mm
cd springboot-mm
gradle init

此时的项目结构如下:

接下来,创建多个模块,这里以web和modules为例,先创建相关的目录,

Linux:

mkdir -p web/src/main/{java,resources} web/src/test/{java,resource}
mkdir -p modules/src/main/{java,resources} modules/src/test/{java,resource}

Windows:

mkdir web\src\main\java,web\src\main\resource,web\src\test\java,web\src\test\resource
mkdir modules\src\main\java,modules\src\main\resource,modules\src\test\java,modules\src\test\resource

此时的目录结构如下:

2.修改配置

首先修改根目录下的 settings.gradle 文件,引入子模块:

include 'web','modules' 

其次修改根目录下的 build.gradle:

// 所有子项目的通用配置
subprojects {
  apply plugin: 'java'
  apply plugin: 'idea'

  version = '1.0.0' 

  // JVM 版本号要求
  sourceCompatibility = 1.8
  targetCompatibility = 1.8

  // java编译的时候缺省状态下会因为中文字符而失败
  [compileJava,compileTestJava,javadoc]*.options*.encoding = 'UTF-8'

  repositories {
    mavenLocal()
    maven { url "http://maven.aliyun.com/nexus/content/groups/public" }
    mavenCentral()
    jcenter()
    maven { url "http://repo.spring.io/snapshot" }
    maven { url "http://repo.spring.io/milestone" }
    maven { url 'http://maven.springframework.org/release' }
    maven { url 'http://maven.springframework.org/milestone' }
  }

  jar {
    manifest {
      attributes("Implementation-Title": "Gradle")
    }
  }

  // 显示当前项目下所有用于 compile 的 jar.
  task listJars(description: 'Display all compile jars.') << {
    configurations.compile.each { File file -> println file.name }
  }

  gradle.projectsEvaluated {
    tasks.withType(JavaCompile) {
      options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
    }
  }
}

接下来,使用intellij (使用版本为2016.3)导入项目,导入成功后,应该可见如下显示:

添加 web/build.gradle 文件并修改,来定义 web模块的依赖:

buildscript {
  repositories {
    mavenLocal()
    maven { url "http://maven.aliyun.com/nexus/content/groups/public" }
    maven { url "http://repo.spring.io/snapshot" }
    maven { url "http://repo.spring.io/milestone" }
    jcenter()
  }

  dependencies {
    classpath("org.springframework.boot:spring-boot-gradle-plugin:1.4.5.RELEASE")
  }
}

apply plugin: 'org.springframework.boot'

archivesBaseName = 'web'

ext {
  springBootVar = '1.4.5.RELEASE'
}

dependencies {
  compile project(':modules')

  // spring boot
  compile "org.springframework.boot:spring-boot-starter-web:$springBootVar"

  testCompile "org.springframework.boot:spring-boot-starter-test:$springBootVar"
}

添加 modules/build.gradle 文件,本例中modules是web的依赖模块,通常可以将类似orm,支付,认证等功能分别放到不同的modules中,这样可以降低程序的耦合性,便于业务的扩展。读者可根据自身项目要求,对modules/build.gradle进行修改,但需要在modules/build.gradle,加入以下配置:

bootRepackage {
  enabled = false
}

具体原因,请参考,此处

3.添加测试代码

添加web\src\main\java\com\formularoom\Application.java,示例代码如下

@ComponentScan( basePackages = {"com.formularoom"})
@EnableAutoConfiguration
public class Application extends SpringBootServletInitializer implements EmbeddedServletContainerCustomizer {
  public static void main(String args[]) {
    SpringApplication.run(Application.class, args);
  }

  @Override
  public void customize(ConfigurableEmbeddedServletContainer container) {
    container.setPort(8081);
  }
}

添加web\src\main\java\com\formularoom\controller\test1.java,

@Controller
public class test1 {

  @RequestMapping(value = "/test1", method = RequestMethod.GET)
  @ResponseBody
  public String test1() {
    return "spring boot multiple modules test";
  }
}

使用浏览器访问http://127.0.0.1:8081/test1 , 显示如下:

完整的示例代码,可从此处 获取。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 只需两步实现Eclipse+Maven快速构建第一个Spring Boot项目

    随着使用Spring进行开发的个人和企业越来越多,Spring从一个单一简介的框架变成了一个大而全的开源软件,最直观的变化就是Spring需要引入的配置也越来越多.配置繁琐,容易出错,让人无比头疼,简化Spring配置简直可以说是民心所向. Spring Boot是由Pivotal团队提供的一个基于Java的全新的开源框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.如今,Spring Boot逐渐成为快

  • spring boot利用docker构建gradle项目的实现步骤

    前言 这是一篇关系到四个知识点的文章,分别是java,docker,springboot和gradle,我们希望在java环境下,使用springboot框架,通过gradle去构建项目,然后把项目部署和运行在docker容器里! 更多关于gradle的介绍大家可以参考这篇文章://www.jb51.net/article/125602.htm Java运行时 springboot开源脚手架 gradle最流行的项目构建工具 docker最流行的容器产品 下面话不多说了,来一起看看详细的介绍:

  • spring boot项目快速构建的全步骤

    1. 问题描述 springboot的面世,成为Java开发者的一大福音,大大提升了开发的效率,其实springboot只是在maven的基础上,对已有的maven gav进行了封装而已,今天用最简单的代码快速入门springboot. 2. 解决方案 强烈推荐大家使用Idea的付费版(破解感谢下蓝宇),Idea对maven.git等插件支持的更加好. 使用idea自带的spring Initializr(实际调用的是springboot的官网上的initializr),快速新建springbo

  • springboot+maven快速构建项目的示例代码

    最近公司运用springboot构建项目,确实比ssh搭建要快很多. 1.首先要下载maven,用maven管理项目很方便,下载完maven配置好环境,maven我就不细说了. 2.创建一个maven项目,pom.xml文件里面写这些: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:sche

  • 构建SpringBoot+MyBatis+Freemarker的项目详解

    现在的Java web项目已经更多的使用SpringBoot来构建了,一个是他的配置更加简单,第二个是现在流行的为服务架构Springcloud就是基于SpringBoot来实现具体的技术细节的,MyBatis也是我们常用半自动式的持久层框架.今天小编就要带领大家一起搭建一个基于SpringBoot和MyBatis以及常用高性能页面渲染框架Freemarker来构建一个用户信息查询展示的项目. 生成项目架构文件.访问SpringBoot官网生成我们需要的Maven项目需要的文件.主要有一下几个选

  • 构建多模块的Spring Boot项目步骤全纪录

    前言 众所周知,在多个项目中可能会相同的模块,如果每个项目都去创建一遍的话,这样开发效率会很低.比如在开发一个APP应用的时候,有供APP使用的接口项目.后台管理系统,两个项目共用一套数据库,分开的话需要配置多次mybatis,如果有些表需要改动的话,则都需要改动,所以使用多模块管理这些模块的话,会非常的方便. 通过阅读本文你将了解到:如何将已有SpringBoot项目改成多模块 & 如何新构建多模块SpringBoot项目 以下示例基于我正在使用的order(订单服务)进行演示,无论你用的是什

  • springboot学习之构建简单项目搭建步骤详解

    概述 相信对于Java开发者而言,spring和springMvc两个框架一定不陌生,这两个框架需要我们手动配置的地方非常多,各种的xml文件,properties文件,构建一个项目还是挺复杂的,在这种情况下,springboot应运而生,他能够快速的构建spring项目,而且让项目正常运行起来的配置文件非常少,甚至只需要几个注解就可以运行整个项目. 总的说来,springboot项目可以打成jar包独立运行部署,因为它内嵌servlet容器,之前spring,springMvc需要的大量依赖,

  • SpringBoot+Maven 多模块项目的构建、运行、打包实战

    本篇文章主要介绍了SpringBoot+Maven 多模块项目的构建.运行.打包,分享给大家,具体如下: 项目使用的工具: IntelliJ IDEA JDK 1.8 apache-maven-3.3.9 项目的目录: 主项目 springboot-multi 子模块 entity.dao.service.web 一.使用IDEA创建一个SpringBoot项目 : File -> new -> Project 项目名称为springboot-multi 二.删除项目中的src目录,把pom.

  • springboot+gradle 构建多模块项目的步骤

    springboot用以进行web项目开发的便捷性,本文不再赘述,主要是想将工作中基于springboot与gradle的多模块项目的构建经验进行总结与归纳. 1.创建项目 首先安装java和gradle,本文选用的java版本为1.8.0_40,gradle版本为2.10,安装过程本文不再赘述. 其次创建项目,名称为 springboot-mm: mkdir springboot-mm cd springboot-mm gradle init 此时的项目结构如下: 接下来,创建多个模块,这里以

  • Gradle构建多模块项目的方法步骤

    通常我在使用Maven构建项目的时候是将应用项目划分为多个更小的模块. Gradle 项目也拥有多于一个组件,我们也将其称之为多项目构建(multi-project build). 我们首先创建一个多项目构建: mkdir cmdGradleProj && cd cmdGradleProj gradle init 这时候 D:\cmdGradleProj> 目录下执行:tree /f 的项目结构如下: │ build.gradle │ gradlew │ gradlew.bat │

  • springboot+idea+maven 多模块项目搭建的详细过程(连接数据库进行测试)

    创建之前项目之前 记得改一下 maven  提高下载Pom速度 记得 setting 中要改 maven  改成 阿里云的.具体方法 网上查第一步 搭建parents 项目,为maven项目 ,不为springboot 项目 记得修改groupId 第二步 搭建多个子模块, honor-dao   honor-manager   honor-common记得创建 honor-manager 的时候 要把他的gruopId 改成com.honor.manager 这里爆红的原因是 因为 我做到后面

  • SpringBoot创建maven多模块项目实战代码

    工作中一直都是一个人奋战一人一个项目,使用maven管理,看这个也挺好,但是总感觉没有充分发挥maven的功能,于是研究了一下这个,网上关于这个的文章很多,虽然不是很好,但我从中收获了很多,在这集百家所长,写一份实战记录,大家跟着我一块做吧! 声明:构建多模块不是最难的,难点是如果把多模块打包成一个执行jar. SpringBoot官方推崇的是富jar,也就是jar文件启动项目,所以如果在这里打war包我不具体介绍,如果需要的朋友可以给我留言,我回复. 建议clone项目后,在看教程(有不足的地

  • 详解使用Maven构建多模块项目(图文)

    Maven多模块项目,适用于一些比较大的项目,通过合理的模块拆分,实现代码的复用,便于维护和管理.尤其是一些开源框架,也是采用多模块的方式,提供插件集成,用户可以根据需要配置指定的模块. 项目结构如下: test-hd-parent (父级) ---pom.xml ---test-hd-api (第三方接口层) ----pom.xml ---test-hd-foundation (基础工具层) ----pom.xml ---test-hd-resource (资源层) ----pom.xml -

  • SpringBoot集成mqtt的多模块项目配置详解

    前言 近期为了准备毕设,准备使用SpringBoot搭建mqtt后端,本篇主要记录了在IDEA中搭建SpringBoot mqtt的多模块项目的过程 开发工具及系统环境 IDE:IntelliJ IDEA 2020.2 操作系统:Windows 10 2004 Java Version:1.8 SpringBoot Version:2.1.17.RELEASE 项目路径 Study |----study-common # 存放公共类 |----study-mapper # mapper层 |--

  • springboot实现多模块项目添加一新模块

    目录 springboot多模块项目添加一新模块 springboot添加新模块的方法 springboot项目基本结构如图 一.选择file->projectstructure文件->项目结构 二.关闭它然后在test模块上左击选复制 三.选要复制的文件 四.如果软件有bug 五.打开文件结构窗口 六.为根项目添加java文件夹 springboot多模块项目添加一新模块 选择Maven Module,填写模块名 若空白,catalog目录可选择internal 更改包名 完成后父pom下的

  • Angular 多模块项目构建过程

    引言 两个月前,已存在录题系统,需要构建出题系统,且两套系统存在公用的实体.组件以及服务,如何在构建新系统的同时复用原系统的代码成为了项目难点. 当时的解决方案是将两个系统放在一个应用里,并为该应用配置两套构建方案,当进行 ng serve 或 ng build 时,加载相应配置,动态构建出两套系统,从而解决了共享代码的问题. 现在再去看 Angular ,理解又不同了. 新的思想与理解都源于后端的思考,在构建后端项目时,为了实现代码复用,会构建多模块. 就像下图所示一样,通用的代码放在 Cor

  • 构建Maven多模块项目的方法

    目录 构建Maven多模块项目 创建父模块 创建子模块:model层 创建子模块:dao模块 创建子模块:service层 创建子模块:web层 编译运行项目 Maven相关特性 父模块的配置 父模块聚合子模块 父模块统一管理依赖包 子模块在pom.xml中声明父模块 参考文章 构建Maven多模块项目 JavaWeb开发一般都会进行分层开发,通常分为 model,模型层 dao,数据访问层 service,业务逻辑层 web,表现层 分层后,各层职责明确,后期维护起来也会容易一些.接下来我们就

  • 在Eclipse IDE使用Gradle构建应用程序(图文)

    构建系统时候常常要用到 Ant, Maven 等工具,对于初学者来说,它们还是过于复杂,上手还是需要时间的.本文将向读者介绍一种全新的构建项目的方式 gradle,它简单.上手快,能大大节省项目的时间和成本. 1. 下载和配置Gradle Gradle Inc.是Gradle框架开发的公司,为Eclipse IDE提供了Gradle工具的支持. 此工具可以创建和允许Gradle项目导入到Eclipse IDE中. 它还允许运行Gradle任务并监视它的执行. 首先,我们需要下载 Gradle,下

随机推荐