首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >运行publishToMavenLocal后,不会在maven本地存储库中生成jar文件

运行publishToMavenLocal后,不会在maven本地存储库中生成jar文件
EN

Stack Overflow用户
提问于 2021-11-12 21:32:44
回答 1查看 1.3K关注 0票数 4

我正在尝试生成一个jar,这样我就可以将它用作一个不同项目的依赖项。在build.gradle中,我已经定义了maven发布id和发布任务,但是只生成了以下文件,但是我需要custom-codegen-0.0.1-SNAPSHOT.jar

代码语言:javascript
运行
复制
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

build.gradle

代码语言:javascript
运行
复制
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
        }
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-13 03:30:05

除非您正在创建Spring应用程序,否则不应该应用Spring插件。它不是一般用于创建Spring库或Spring库的。它用于创建Spring应用程序。Spring插件响应应用于项目的各种插件,如文档中所记录的那样。

其次,如果您希望您的已发布的工件被其他人使用,那么您应该使用java-library

使用上述内容,您的Gradle构建应该如下所示:

代码语言:javascript
运行
复制
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
        }
    }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69949295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档