Из этой части вашего вопроса:
[...] Java Boot и другие библиотеки не скомпилированы в этот jar, увеличивая его размер.
Я понимаю, что вы применили плагин Springboot к своей библиотеке (который по умолчанию создает толстый файл jar с учетом всех зависимостей), в то время как вы просто хотите создать простую / простую библиотеку java.
Если мое предположение верно, самое простое решение - использовать плагин Springboot только для управления зависимостями, фактически не применяя его к вашему проекту, как объяснено здесь .
Вам также следует применить плагин для библиотеки Java Gradle , чтобы воспользоваться функцией разделения API / реализации.
Пример сценария сборки для проекта библиотеки:
plugins {
id "java-library"
id "org.springframework.boot" version "2.1.4.RELEASE" apply false // do not apply it
}
apply plugin: "io.spring.dependency-management"
dependencies {
// Spring Boot deps
implementation "org.springframework.boot:spring-boot-starter-web"
// libraries you want to "propagate to consumers
// api group: 'com.google.guava', name: 'guava', version: '23.0'
// libraries you don"t want to flow in consumers projects
// implementation ....
// Test deps
testImplementation "org.springframework.boot:spring-boot-starter-test"
}
dependencyManagement {
imports {
mavenBom org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES
}
}