我如何打包jar,使依赖的springjar不会包含在我的最终jar中,而是将它们引用到maven存储库

我如何打包jar,使依赖的springjar不会包含在我的最终jar中,而是将它们引用到maven存储库,spring,gradle,spring-boot,Spring,Gradle,Spring Boot,试图用Gradle构建一个jar,它有一些spring依赖项,并放在nexus存储库中。我的身材,格雷德尔看起来像下面 dependencies { compile group: 'org.springframework', name: 'spring-jdbc', version: '3.1.0.RELEASE' compile("org.springframework.cloud:spring-cloud-spring-service-connector:1.2.2.RELEASE"

试图用Gradle构建一个jar,它有一些spring依赖项,并放在nexus存储库中。我的身材,格雷德尔看起来像下面

dependencies {

compile group: 'org.springframework', name: 'spring-jdbc', version: '3.1.0.RELEASE'



compile("org.springframework.cloud:spring-cloud-spring-service-connector:1.2.2.RELEASE")
compile("org.springframework.cloud:spring-cloud-cloudfoundry-connector:1.2.2.RELEASE")

  }
当我用这个捆绑我的罐子时,它只是将这些罐子包含在我的最后一个罐子中

jar {
baseName = 'npswo-framework'
version =  '0.1.0'
from {
    configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
}


 }
我正在寻找一些东西,我的最终jar应该有一些参考这些jar可能是通过META-INF和下载他们时,有人下载我的jar


目前,如果有人在nexus中下载或引用我的jar,它会在我的jar下包含spring jar文件夹,如果项目中已经有spring reference,它们就会被复制,我们可以遵循在gradle中创建发布插件的任何示例

Maven在gradle中创建发布插件解决了这个问题,我们可以遵循在gradle中创建发布插件的任何示例

为什么您要这样做,而不是简单地让grade通过从部分中移除整个内容来用普通内容打包jar?我的jar{}config通常只包含一个清单部分,通常依赖项存储在pom.xml中。要启用此功能,请添加“maven publish”插件。如果您查看Spring的任何标准jar,它将在meta inf pom.xml中有自己的内容(类)和依赖jar,我希望以与Gradle相同的方式构建jar。例如,您可以参考spring数据rest mvc jar,因为它有自己的类和metainf/maven/…中的pom.xml。。。如果有人把这个jar和RESTMVC一起拉,所有其他jar都会被添加。是的,pom是由maven发布插件创建的。它将独立于一个存储库部署感谢@ArneBurmeister它帮了我很多。maven publish gradle为我工作为什么你要这么做,而不是简单地让grade通过从部分移除整个来包装罐子和它的正常内容?我的jar{}config通常只包含一个清单部分,通常依赖项存储在pom.xml中。要启用此功能,请添加“maven publish”插件。如果您查看Spring的任何标准jar,它将在meta inf pom.xml中有自己的内容(类)和依赖jar,我希望以与Gradle相同的方式构建jar。例如,您可以参考spring数据rest mvc jar,因为它有自己的类和metainf/maven/…中的pom.xml。。。如果有人把这个jar和RESTMVC一起拉,所有其他jar都会被添加。是的,pom是由maven发布插件创建的。它将独立部署到一个存储库谢谢@ArneBurmeister它帮了我很多。maven publish gradle为我工作