当前位置: 首页 > 面试题库 >

Gradle可以将多个项目合并到一个jar中吗?

戈建白
2023-03-14
问题内容

Gradle可以将多个项目合并到一个jar中吗?

我知道您可以使用以下方法针对单个项目执行此操作:

task packageTests(type: Jar) {
  from sourceSets.test.classes
}

但是一个人如何将多个子项目压缩到一个jar中呢?

我试过了,但不起作用:

task packageTests(type: Jar) {
  from project(':core').sourceSets.main.classes
  from project(':core:google').sourceSets.test.classes
  from project(':core:bing').sourceSets.test.classes
}

问题答案:

这是我的解决方案,它稍微简单一些:

// Create a list of subprojects that you wish to include in the jar.  
def mainProjects = [':apps',':core',':gui',':io']
task oneJar( type: Jar , dependsOn: mainProjects.collect{ it+":compileJava"}) {
    baseName = 'name of jar'
    from files(mainProjects.collect{ project(it).sourceSets.main.output })
}

代码已在Gradle 1.12上进行了测试



 类似资料:
  • 问题内容: 我的应用程序需要多个jar才能工作。由于它是桌面应用程序,因此我无法让用户负责安装。因此,在我的构建脚本中,我将jar内容解压缩到我的构建目录中,删除清单文件,编译我的软件,然后再次对其进行jar。一切正常,因为我的问题是此过程是否有长期副作用? 问题答案: 过去,JAR的内容很奇怪(例如包含和的DB2驱动程序;在Windows文件系统中解压缩后,这两个软件包将合并在一起)。 您需要了

  • 问题内容: 我有多个JAR文件,必须将其添加到Eclipse中的classpath中。 是否可以将30个文件合并为一个文件并包含该文件? 问题答案: 您可能想看看jarjar。 如果您使用Ant任务,也可以进行以下操作:

  • 我有两个独立的android应用程序项目,它们都是在android studio中制作的。我正在尝试将项目1合并到项目2中,使其成为一个应用程序。我该怎么做呢?我知道如何在eclipse中完成,但不知道如何在android studio中完成。请注意,这两个项目都是android应用程序,没有一个是android库。 任何帮助将是惊人的! 当我将项目1导入项目模块时,我在年级生成中遇到以下错误:

  • 问题内容: 我有两个在android studio中制作的单独的android应用程序项目,我正在尝试将项目1合并到项目2中,以使其全部成为一个应用程序,我该怎么做呢?我知道如何在Eclipse中做到这一点,但在android studio中却不行。请注意,这两个项目都是android应用程序,都不是android库。 任何帮助都将是惊人的! 当我将项目1导入到项目模块中时,在生成成绩时出现此错误