Nay*_*ude 7 java gradle build.gradle spring-boot
我有 Spring Boot 项目 Core,它具有一些基本的核心功能。我想在其中添加核心依赖项的另一个项目 UserManager。
下面是两个项目的 build.gradle 和 settings.gradle
核心的settings.gradle
pluginManagement {
repositories {
gradlePluginPortal()
}
}
rootProject.name = 'core'
Run Code Online (Sandbox Code Playgroud)
Core的build.gradle
plugins {
id 'org.springframework.boot' version '2.1.3.RELEASE'
id 'org.jetbrains.kotlin.jvm' version '1.3.21'
id 'org.jetbrains.kotlin.plugin.spring' version '1.3.21'
}
apply plugin: 'io.spring.dependency-management'
group = 'com.simbalarry'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter'
implementation 'org.jetbrains.kotlin:kotlin-reflect'
implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
compileKotlin {
kotlinOptions {
freeCompilerArgs = ['-Xjsr305=strict']
jvmTarget = '1.8'
}
}
compileTestKotlin {
kotlinOptions {
freeCompilerArgs = ['-Xjsr305=strict']
jvmTarget = '1.8'
}
}
Run Code Online (Sandbox Code Playgroud)
UserManagement 的 settings.gradle
pluginManagement {
repositories {
maven { url 'https://repo.spring.io/snapshot' }
maven { url 'https://repo.spring.io/milestone' }
gradlePluginPortal()
}
resolutionStrategy {
eachPlugin {
if (requested.id.id == 'org.springframework.boot') {
useModule("org.springframework.boot:spring-boot-gradle-plugin:${requested.version}")
}
}
}
}
rootProject.name = 'usermanager'
Run Code Online (Sandbox Code Playgroud)
UserManagement 的 build.gradle
plugins {
id 'org.jetbrains.kotlin.plugin.jpa' version '1.2.71'
id 'org.springframework.boot' version '2.2.0.M1'
id 'org.jetbrains.kotlin.jvm' version '1.2.71'
id 'org.jetbrains.kotlin.plugin.spring' version '1.2.71'
}
apply plugin: 'io.spring.dependency-management'
group = 'com.simbalarry'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'
test {
useJUnitPlatform()
}
repositories {
mavenCentral()
maven { url 'https://repo.spring.io/snapshot' }
maven { url 'https://repo.spring.io/milestone' }
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-actuator'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'com.fasterxml.jackson.module:jackson-module-kotlin'
implementation 'org.jetbrains.kotlin:kotlin-reflect'
implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8'
implementation 'com.microsoft.sqlserver:mssql-jdbc'
implementation 'org.modelmapper:modelmapper:2.3.0'
compile project(':core')
//compile 'com.simbalarry:core:0.0.1-SNAPSHOT'
runtimeOnly 'org.springframework.boot:spring-boot-devtools'
runtimeOnly 'com.h2database:h2'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.springframework.security:spring-security-test'
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.3.2'
testImplementation 'org.junit.jupiter:junit-jupiter-params:5.3.2'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.3.2'
}
compileKotlin {
kotlinOptions {
freeCompilerArgs = ['-Xjsr305=strict']
jvmTarget = '1.8'
}
}
compileTestKotlin {
kotlinOptions {
freeCompilerArgs = ['-Xjsr305=strict']
jvmTarget = '1.8'
}
}
Run Code Online (Sandbox Code Playgroud)
那么我应该在 UserManager 项目中添加什么来添加 Core 作为依赖项。
首先添加jarin依赖
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-actuator'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'com.fasterxml.jackson.module:jackson-module-kotlin'
implementation 'org.jetbrains.kotlin:kotlin-reflect'
implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8'
implementation 'com.microsoft.sqlserver:mssql-jdbc'
implementation 'org.modelmapper:modelmapper:2.3.0'
compile project(':core')
compile 'com.simbalarry:core:0.0.1-SNAPSHOT'
runtimeOnly 'org.springframework.boot:spring-boot-devtools'
runtimeOnly 'com.h2database:h2'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.springframework.security:spring-security-test'
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.3.2'
testImplementation 'org.junit.jupiter:junit-jupiter-params:5.3.2'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.3.2'
}
Run Code Online (Sandbox Code Playgroud)
然后添加jar所在的仓库
repositories {
mavenCentral()
maven { url 'https://repo.spring.io/snapshot' }
maven { url 'https://repo.spring.io/milestone' }
//company repository or custom repository
}
Run Code Online (Sandbox Code Playgroud)
由于Core as dependency两者 UserManager都是spring boot项目,所以UserManager添加@ComponentScan了两个项目中都需要扫描的包
@ComponentScan({"com.user.management", "com.core.dependency"})
Run Code Online (Sandbox Code Playgroud)
如果项目不在存储库中,则将该 jar 作为外部 jar 添加到项目中
在 Eclipse 中 --> 右键单击项目 --> 构建路径 --> 配置构建路径 --> 添加外部 jar
| 归档时间: |
|
| 查看次数: |
1513 次 |
| 最近记录: |