the*_*her 6 gradle maven maven-publish
我正在尝试生成一个 jar,以便我可以将其用作不同项目的依赖项。在 build.gradle 中,我定义了 maven-publish id 和发布任务,但只生成以下文件 - 但我需要custom-codegen-0.0.1-SNAPSHOT.jar
custom-codegen-0.0.1-SNAPSHOT-plain.jar
custom-codegen-0.0.1-SNAPSHOT.module
custom-codegen-0.0.1-SNAPSHOT.pom
maven-metadata-local.xml
Run Code Online (Sandbox Code Playgroud)
构建.gradle
plugins {
id 'org.springframework.boot' version '2.5.6'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
id 'java'
id 'maven-publish'
}
group = 'com.tmo5'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
test {
useJUnitPlatform()
}
publishing {
publications {
mavenJava(MavenPublication) {
from components.java
versionMapping {
usage('java-api') {
fromResolutionOf('runtimeClasspath')
}
usage('java-runtime') {
fromResolutionResult()
}
}
}
}
repositories {
maven {
def releasesRepoUrl = "$buildDir/repos/releases"
def snapshotsRepoUrl = "$buildDir/repos/snapshots"
url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl
}
}
}
Run Code Online (Sandbox Code Playgroud)
除非您正在创建 Spring Boot 应用程序,否则不应应用 Spring Boot Gradle 插件。它不适用于创建 Spring Boot 库或一般的 Spring 库。它用于创建 Spring Boot 应用程序。Spring Boot Gradle 插件会对应用于项目的各种插件做出反应,如文档中所述。
其次,如果您希望您发布的工件被另一个工件使用,那么您应该使用java-library。
话虽如此,您的 Gradle 构建应该类似于:
plugins {
id 'java-library'
id 'maven-publish'
}
group = 'com.tmo5'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'
repositories {
mavenCentral()
}
dependencies {
api platform('org.springframework.boot:spring-boot-dependencies:2.5.6')
api 'org.springframework.boot:spring-boot-starter-web'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
test {
useJUnitPlatform()
}
publishing {
publications {
mavenJava(MavenPublication) {
from components.java
versionMapping {
usage('java-api') {
fromResolutionOf('runtimeClasspath')
}
usage('java-runtime') {
fromResolutionResult()
}
}
}
}
repositories {
maven {
def releasesRepoUrl = "$buildDir/repos/releases"
def snapshotsRepoUrl = "$buildDir/repos/snapshots"
url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2948 次 |
| 最近记录: |