java - 将所有库版本移动到多模块 gradle 项目中的根 gradle 文件
问题描述
我有带有模块的 gradle 项目。
-RootProject
-my-server(spring boot 2server)
-my-generator(module)
现在我的根项目的 gradle 文件如下所示:
group = 'com.mayprojekt'
version = '0.0.1-SNAPSHOT'
Gradle 设置文件如下所示:
rootProject.name = 'root-project'
include 'my-generator'
include 'my-server'
my-server 的 gradle 文件如下所示:
buildscript {
ext {
springBootVersion = '2.0.3.RELEASE'
cxfVersion = '3.2.2'
uuidGeneratorVersion = '3.1.5'
commonLang3Version = '3.7'
}
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
apply plugin: 'java'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
group 'com.mayprojekt'
version '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8
targetCompatibility = 1.8
repositories {
mavenCentral()
mavenLocal()
}
bootJar {
mainClassName = 'com.mayprojekt.Application'
archiveName = 'my-server.jar'
}
dependencies {
compile 'org.springframework.boot:spring-boot-starter'
compile "org.apache.cxf:cxf-spring-boot-starter-jaxws:${cxfVersion}"
compile "com.fasterxml.uuid:java-uuid-generator:${uuidGeneratorVersion}"
compile "org.apache.cxf:cxf-rt-features-logging:${cxfVersion}"
compile "org.apache.commons:commons-lang3:${commonLang3Version}"
compileOnly('org.projectlombok:lombok')
compile("org.springframework.boot:spring-boot-starter-data-jpa")
compile("oracle:ojdbc6:11.2.0.3")
compile project(':my-generator')
testCompile 'org.springframework.boot:spring-boot-starter-test'
}
my-generator 模块只是带有一些类的模块。
但我想将所有库版本移动到根 gradle 文件。我在 Maven 项目中制作它,我需要如下所示的东西:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<spring.ws.version>3.0.0.RELEASE</spring.ws.version>
<jvnet.jaxb2.maven2.version>0.13.2</jvnet.jaxb2.maven2.version>
<cxf.version>3.2.4</cxf.version>
<commons.codec.version>1.11</commons.codec.version>
<springfox.version>2.7.0</springfox.version>
<oracle.version>11.2.0.3</oracle.version>
<maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.0.2.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
但我不知道如何用 gradle 制作这个。
解决方案
假设您的 my-generator 项目是一个 gradle 项目,那么您可以在根 build.gradle 中执行此操作:
...
project(':my-server') {
apply plugin: 'java'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
....
}
project(':my-generator') {
apply plugin: 'java'
dependencies {
compile 'org.springframework.boot:spring-boot-dependencies:2.0.2.RELEASE'
}
}
...
使用“项目”子句,您只能将配置应用于根项目中的子模块项目。
使用“allprojects”子句,您可以将某些配置应用于所有子模块项目:
allprojects {
dependencies { ... }
}
希望这可以帮助
推荐阅读
- powershell - 在 PowerShell 中保护和加密用户名/密码
- azure - 调试容器化应用程序时,是否可以在 Visual Studio 中本地查看我的遥测数据?
- sql - 按相似字符串查询红移分组
- amazon-web-services - 使用 AWS 工具包在本地测试 SES lambda
- c# - 如何使用 Interop 在 C# 中读取受保护视图的 Excel 文件?
- excel - 通过更改文件名的 VBA 复制粘贴
- coq - Coq 只简化/展开一次。(用函数的一次迭代的结果替换部分目标。)
- php - 应用程序 Azure Api 中的 NoPermissionsInAccessToken 以创建联系人
- wordpress - Wordpress wp_login 挂钩未按预期工作
- c# - Facebook 身份验证被禁止