Невозможно установить толстую банку с весенней загрузкой в ​​репозиторий maven с помощью gradle

Я написал приложение с весенней загрузкой с помощью gradle, и оно работает правильно.

Я создаю толстую банку с помощью bootRepackage, я добавил плагин maven, чтобы я мог установить банки.

Проблема в том, что я не могу установить толстую банку в репозиторий maven.

  1. "bootRepackage" создает этот толстый jar-файл.
  2. установка зависит от фазы "jar", поэтому создается тонкий jar-файл, заменяющий толстый jar-файл.
  3. Тонкая банка копируется в репозиторий

Вот мой скрипт Gradle для базового проекта, обратите внимание, что я все еще пытаюсь установить его в свой локальный репозиторий (мы новая компания, и мы все еще создаем удаленный репозиторий)

subprojects {
group 'myGroup'
version '1.0-SNAPSHOT'

apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'maven'

sourceCompatibility = 1.8

buildscript {
    repositories {
        jcenter()
    }

    dependencies {

        classpath 'io.spring.gradle:dependency-management-plugin:0.5.6.RELEASE'
        classpath 'org.springframework.boot:spring-boot-gradle-plugin:1.3.3.RELEASE'
        classpath 'com.bmuschko:gradle-tomcat-plugin:2.0'

    }

}

repositories {
    jcenter()
}



dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.11'
    testCompile 'org.mockito:mockito-all:1.8.4'
    compile 'ch.qos.logback:logback-classic:1.1.7'
}



task wrapper(type: Wrapper) {
    gradleVersion = '2.12'
}
}

Скрипт Gradle для модуля:

apply plugin: "io.spring.dependency-management"
apply plugin: "spring-boot"

repositories {
jcenter()
}

dependencyManagement {
imports {
    mavenBom 'io.spring.platform:platform-bom:2.0.3.RELEASE'
}
}
dependencies {
   compile "org.springframework:spring-web"
   compile "org.springframework.boot:spring-boot-starter-web"
   compile "org.springframework.boot:spring-boot-starter-actuator"
   compile 'com.netflix.feign:feign-okhttp:8.16.2'
}

person Sigal Shaharabani    schedule 10.05.2016    source источник


Ответы (1)


Убедитесь, что задача bootRepackage выполняется до install. Грубый способ сделать это - указать оба параметра в командной строке:

./gradlew bootRepackage install

Лучше всего настроить задачу install так, чтобы она зависела от задачи bootRepackage. Вы можете сделать это, добавив в свой build.gradle следующее:

install {
    dependsOn bootRepackage
}

При такой конфигурации Gradle будет автоматически запускаться bootRepackage при запуске install. Например:

$ ./gradlew install
:compileJava UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:findMainClass
:jar
:bootRepackage
:install

BUILD SUCCESSFUL

Total time: 5.487 secs
person Andy Wilkinson    schedule 10.05.2016
comment
Спасибо попробую в воскресенье - person Sigal Shaharabani; 11.05.2016
comment
Это сработало, но синтаксис был немного другим: install.dependsOn {bootRepackage} - person Sigal Shaharabani; 11.05.2016