- 履歴一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- Spring Boot/プロジェクトを分割してGradleでビルドする へ行く。
- 1 (2017-02-08 (水) 11:18:14)
- 2 (2017-02-08 (水) 11:18:50)
- 3 (2017-03-15 (水) 16:24:53)
- 4 (2017-03-21 (火) 11:56:19)
Gradleをインストールする†
Gradleを設定する†
cd /path/to/multiproject gradle init
サブプロジェクトを定義する†
- settings.gradle
rootProject.name = 'multiproject' include 'domain' include 'persistence' include 'web'
依存関係を定義する†
- build.gradle
次を想定しています。
- 依存関係
- domain
- persistence -> domain
- web -> domain
- web -> persistence
- domainはLombokしか使わない
- persistenceはMyBatisでMySQLに接続する
- persistanceはMyBatis Generatorでマッパーを作成できる
- webはThymeleafを使う
- Eclipseで開発する
buildscript { ext { springBootVersion = '1.5.1.RELEASE' } repositories { mavenCentral() maven { url "https://plugins.gradle.org/m2/" } } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") classpath("gradle.plugin.com.arenagod.gradle:mybatis-generator-plugin:1.3") } } subprojects { apply plugin: 'java' apply plugin: 'eclipse' sourceCompatibility = 1.8 repositories { mavenCentral() } dependencies { compileOnly("org.projectlombok:lombok:1.16.12") } } project(':domain') { } project(':persistence') { apply plugin: "com.arenagod.gradle.MybatisGenerator" dependencies { compile project(':domain') compile('org.mybatis.spring.boot:mybatis-spring-boot-starter:1.2.0') } configurations { mybatisGenerator } mybatisGenerator { verbose = true configFile = "${projectDir}/src/main/resources/autogen/generatorConfig.xml" } } project(':web') { apply plugin: 'org.springframework.boot' jar { baseName = 'demo' version = '0.0.1-SNAPSHOT' } dependencies { compile project(':domain') compile project(':persistence') compile('org.springframework.boot:spring-boot-starter-web') compile('org.springframework.boot:spring-boot-starter-thymeleaf') runtime('mysql:mysql-connector-java') testCompile('org.springframework.boot:spring-boot-starter-test') } }
プロジェクト雛形を作成する†
GradleでEclipseのプロジェクト雛形を作成する†
$ gradle eclipse
Eclipseでプロジェクトをimportする†
- File > Import...
- Gradle / Existing Gradle Project ※ Buildship Gradle Integration要?
- Project root directory: /path/to/multiproject
- Next >
- Next >
- Finish
それぞれのプロジェクトでSource Folderを作成する†
- File > New > Source Folder
- Folder name: src/main/java
- Folder name: src/main/resources
- Folder name: src/test/java
- Folder name: src/test/resources