tpl*_*cht 4 java spring gradle spring-boot
我们的spring-boot项目如下所示
project
|__ build.gradle
|__ settings.gradle
|__ module_a
|__ module_b
|__ ...
|__ module_a
|__ module_b
Run Code Online (Sandbox Code Playgroud)
module_a仅包含SpringApplication类和文件application.properties
运行./gradlew build工作正常,但问题是,对于每个模块(大约10)gradle生成一个包含所有依赖项的胖jar.
我们想要只有一个远罐(在模块a中)
buildscript {
ext {
springBootVersion = '1.2.0.RELEASE'
springLoadedVersion = '1.2.0.RELEASE'
}
repositories {
// NOTE: You should declare only repositories that you need here
mavenCentral()
maven { url "http://repo.spring.io/release" }
maven { url "http://repo.spring.io/milestone" }
maven { url "http://repo.spring.io/snapshot" }
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
classpath("org.springframework:springloaded:${springLoadedVersion}")
}
}
allprojects {
group = "example.group"
version = "0.0.1"
repositories() {
mavenCentral()
}
}
subprojects {
apply plugin: "groovy"
apply plugin: "eclipse"
eclipse {
classpath {
containers.remove("org.eclipse.jdt.launching.JRE_CONTAINER")
containers "org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"
}
}
apply plugin: "idea"
apply plugin: "java"
apply plugin: "spring-boot"
mainClassName = "MainClassName"
sourceCompatibility = 1.8
targetCompatibility = 1.8
dependencies {
}
}
task wrapper(type: Wrapper) { gradleVersion = '2.2' }
Run Code Online (Sandbox Code Playgroud)
我们尝试添加选项jar.enabled = false bootRepackage.enabled = false
在子项目部分,但在那之后,该项目不再漫画.
您可以将它仅应用于以下内容,而不是将Spring Boot插件应用于每个子项目module_a:
project(':module_a') {
apply plugin: 'org.springframework.boot'
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3267 次 |
| 最近记录: |