Задачи Spring Boot Gradle bootJar неожиданно удаляет скомпилированные исходники - PullRequest
0 голосов
/ 17 марта 2020

При создании явной зависимости к clean из встроенной задачи bootJar встроенные источники не присутствуют в сгенерированном файле JAR:

bootJar {
  dependsOn clean
  mainClassname = "..."
}

Это создает вывод, подобный этому :

$ ./gradlew :modules:pdf-to-slides-converter:bootJar -q &> /dev/null && jar tf modules/pdf-to-slides-converter/build/libs/pdf-to-slides-converter.jar | egrep "BOOT-INF/classes.*class"

[empty result]

Там должен появиться класс. Если удалить dependsOn clean, то появится класс:

./gradlew :modules:pdf-to-slides-converter:bootJar -q &> /dev/null && jar tf modules/pdf-to-slides-converter/build/libs/pdf-to-slides-converter.jar | egrep "BOOT-INF/classes.*class"

BOOT-INF/classes/com/org/pdftoslidesconverter/PdfToSlidesConverter.class

Почему это поведение так неясно на bootJar? Как это возможно, что очистка удаляет источники, которые bootJar пытается упаковать?

...