我有一个可执行JAR,使用Spring Boot的Gradle插件构建。它在构建文件以下依赖性:使用spring-boot gradle-plugin构建的可执行jar缺失依赖关系
的build.gradle
compile('org.apache.activemq:activemq-client:5.9.0')
compile('org.apache.activemq:activemq-broker:5.9.0')
compile('org.apache.activemq:activemq-kahadb-store:5.9.0')
compile('org.apache.activemq.protobuf:activemq-protobuf:1.1')
的问题是,我跑 ./gradlew clean build
后创建的神器不包含activemq-protobuf
罐子,只有其他的ActiveMQ罐子:
[] jar -tf build/libs/application-0.1.0.jar | grep activemq
lib/activemq-client-5.9.0.jar
lib/activemq-broker-5.9.0.jar
lib/activemq-kahadb-store-5.9.0.jar
lib/activemq-openwire-legacy-5.9.0.jar
所以当我尝试运行jar时,我得到一个异常,从这个依赖关系的类canno T为找到:
java.lang.ClassNotFoundException: org.apache.activemq.protobuf.Message
在生成的依赖被下载,它可以在我的gradle这个缓存中找到,它似乎是出于某种原因春天启动的摇篮插件不会在bootRepackage
任务中包含它。
这个依赖关系在Eclipse中也存在,项目可以从那里运行。
有关它为什么会丢失的任何想法?