当前位置: 首页 > 知识库问答 >
问题:

在Gradle4.0中如何将所有子项目的JAR放到一个目录中?

宇文念
2023-03-14

我有一个Multiproject项目构建,如下所示,当我进行分级清洁构建时,它会在每个子目录的build/libs/下创建jar,如下所示

root
   /projectA
       /build/libs/projectA.jar
   /projectB
       /build/libs/projectB.jar

现在我想把所有这些子项目JAR(项目A和B)放在一个地方(比如root/build/libs),所以它希望这样

root
   /build
       /libs
           /projectA.jar
           /projectB.jar
   /projectA
       /build/libs/projectA.jar
   /projectB
       /build/libs/projectB.jar

共有1个答案

景昊焜
2023-03-14

这是可行的,尽管它很粗糙,因为硬编码子项目并不理想。

task copyJars(type: Copy) {
    def jars = [
        '/projectA/build/libs/.', 
        '/projectB/build/libs/.']
    from jars
    include '*.jar'
    into 'build/libs'
}
 类似资料:
  • 我试图构建一个Maven父项目脚本,其中包含一个第三方项目(及其所有依赖项)和我的另外几个项目。 我想复制所有的依赖项(我的意思是所有的依赖项,包括由其他依赖项请求的jars,而这些依赖项又是由我的一个子项目请求的)到父项目目录,例如lib,这样我就可以用通配符类路径运行java: 我尝试了使用maven-依赖-插件的各种方法,如,但我能指向Maven的只是我自己的子项目,而不是它们的依赖项(我的

  • 可能重复: gzip一组目录并创建tar压缩文件 这篇文章描述了如何在一个目录结构中分别gzip每个文件。然而,我需要做一些稍微不同的事情。我需要为某个目录下的所有文件生成一个大的gzip文件。我还需要能够为压缩文件(例如files.gz)指定输出文件名,并覆盖旧的压缩文件(如果已经存在)。

  • 我有一个这样结构的小项目: 我在myproject中添加了一个CmakeLists.txt文件,并添加了子目录mylib和myprog。子目录也有一个CMakeList。现在,当我运行cmake时,两个模块都是正确构建的,除非我想在我的程序中使用mylib。我已经找到了全局CmakeList定义的解决方案。但是我更喜欢在mylib中定义这个,以便mylib/包含被添加到项目的包含路径中。我想要一个

  • 问题内容: 我想在当前位置的子目录之间进行迭代,并分别gzip每个文件。为了在目录中压缩文件,我使用 但这仅适用于当前目录,而不适用于当前目录的子目录。如何重写以上语句,以便也将所有子目录中的文件压缩? 问题答案: 不需要循环或除和以外的任何东西: 这将查找当前目录中及其下所有名称不以扩展名结尾的常规文件(即,所有尚未压缩的文件)。它分别在每个文件上调用。 编辑的基础上,从评论: 花括号()替换为

  • 所以我开始使用Neovim /Spacevim,它真是太棒了! 我仍然在习惯一切,因为我以前从未使用过Vim或类似的东西。 我的问题围绕着在当前打开的项目的所有文件中搜索特定文本。 我正在使用文件管理器,我想知道如何在项目中的所有文件中搜索特定字符串。就像如果我想在当前打开的文件夹/目录中搜索,我该如何去做?主要目标是列出包含此搜索字符串的所有文件。 我已经安装了(以及),但在搜索所有文件中的特定

  • 这是我的Android项目 我想将自定义包从目录应用程序导入目录示例。伙计们,怎么做???