Gradle 安装命令以在本地发布版本和 groupId

Gradle install command to publish locally with version and groupId

我正在尝试获取一个 Java/Gradle 项目来构建一个 shared/non-executable 库 JAR 并将其发布到我的本地 Maven 存储库(以便我可以将它拉入我正在工作的其他项目在本地)。

我的build.gradle:

plugins {
    id 'java'
    id 'maven'
}

version = '0.0.1-SNAPSHOT'
group = 'mygroup'
rootProject.name = 'myproject'

repositories {
    jcenter()
    mavenCentral()
}

dependencies {
    compile(
        'ch.qos.logback:logback-classic:1.2.3'
        ,'org.apache.commons:commons-lang3:3.7'
    )

    testCompile(
        'junit:junit:4.12'
        ,'org.mockito:mockito-core:2.23.0'
    )
}

test {
    // Trick to run tests in parallel with as much concurrency as possible.
    maxParallelForks = Runtime.runtime.availableProcessors().intdiv(2) ?: 1
}

jar {
    baseName = rootProject.name
}

以及我如何调用它:

./gradlew clean build install

在我的文件系统上,我看到一个 /home/.m2/repository/myproject/unspecified/ 目录(myrpoject 是我的项目名称并且是正确的),其中包含:

非常接近!我只是想弄清楚用我配置的值 (0.0.1-SNAPSHOT) 替换 unspecified 版本号,以及如何将安装目录更改为 /home/.m2/repository/mygroup/myproject/unspecified/(注意 mygroup 添加!)?

您的文件应该是这样的:

gradle.properties

version=0.0.1-SNAPSHOT
group=mygroup

settings.gradle

rootProject.name = 'myproject'

build.gradle

plugins {
    id 'java'
    id 'maven'
}

repositories {
    jcenter()
    mavenCentral()
}

dependencies {
    compile(
        'ch.qos.logback:logback-classic:1.2.3'
        ,'org.apache.commons:commons-lang3:3.7'
    )

    testCompile(
        'junit:junit:4.12'
        ,'org.mockito:mockito-core:2.23.0'
    )
}

test {
    maxParallelForks = Runtime.runtime.availableProcessors().intdiv(2) ?: 1
}

jar {
    baseName = rootProject.name
}