【问题标题】:How can I READ list of jars from a file and use it as classpath in Gradle?如何从文件中读取 jar 列表并将其用作 Gradle 中的类路径?
【发布时间】:2015-11-09 11:47:37
【问题描述】:

假设我有一个文件listofjars.txt,其中包含我本地文件系统上.jar 文件的位置

lib/jarfile1.jar
lib/jarfile2.jar

现在我想读取这个文件并在我的项目编译过程中使用它作为类路径,如何使用 Gradle 来完成?

【问题讨论】:

  • 只是出于兴趣,有什么理由这么做?
  • 应用插件:“java”; def List list = new ArrayList();任务 readFile list.add(line); } } 依赖项() { 编译文件(列表); }
  • @Stanislav:我的项目使用了大约 40 多个本地文件系统上的 jar 文件,因此我不想在编译任务中添加每个 jar,而是将依赖项放在外部文件中并读取它的形式那里。我觉得这比添加逗号分隔的 jar 文件作为编译文件(jar1、jar2、jar3、jar4)更容易维护。
  • 如果您所有的 jar 文件都在同一个文件夹中,您可以将 compile fileTree('lib') 添加到您的 dependencies 配置中

标签: java gradle build build.gradle


【解决方案1】:

apply plugin: "java";

def List < String > list = new ArrayList < String > ();

task readFile << {

  new File('jarfile.txt').eachLine {
    line - >
      list.add(line);
  }

}

dependencies() {

  compile files(list);

}

sourceSets {
  main {
    java {
      srcDir 'src';
    }
  }
}

init {
  new File('jarfile.txt').eachLine {
    line - >
      if (!line.equals(""))
        list.add(line);

  }

【讨论】:

    猜你喜欢
    • 2018-10-14
    • 2011-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-12
    • 2010-12-16
    • 2015-02-28
    相关资源
    最近更新 更多