2016-04-11 158 views
0

在gradle中,当我试图构建每个模块时,我需要将外部依赖项也打包在Jar中作为Jar。gradle构建一个外部依赖项作为Jar内部的依赖关系

下面是一些依赖列了出来:

dependencies { 
    compile group: 'org.springframework.integration', name: 'spring-integration-xml', version:'4.1.6.RELEASE' 
    compile group: 'org.springframework', name: 'spring-oxm', version:'3.0.0.RELEASE' 
.... 
    } 
jar { 
    manifest{ 
    attributes 'Main-Class':'com.MyfirstClass' 
    } 
} 

最后,当我们试图查看JAR它应该包含内部的lib依赖jar如下图所示提前

jar tvf build/libs/test.jar 
        META-INF/ 
        META-INF/MANIFEST.MF 
        lib/ 
        lib/spring-integration-xml.4.1.6.jar 
        ..... 

谢谢!

+0

[使用摇篮构建具有依赖关系的罐子]的可能的复制(https://stackoverflow.com/questions/4871656/using-gradle-to-build-a-jar-with-dependencies) –

回答

0
jar { 
    from(configurations.runtime) { 
     into 'lib' 
    } 
} 
+0

由于以便及时回复。但它不起作用。它不收集外部依赖作为罐子 –

+0

你确定你做得对吗?我刚测试过,效果很好。最初的版本在'lib'下做了所有的东西,但是libs在那里。我在我的答案中更新了这个例子,这样只有这些库被存储在'lib'目录中,并且使用你的构建文件进行了试验。奇迹般有效。 – Vampire

+0

我测试过,但没有工作 –