【问题标题】:Create multi Jar by for loop task call with gradle使用 gradle 通过 for 循环任务调用创建多 Jar
【发布时间】:2018-07-09 10:40:32
【问题描述】:
  • 在我的项目中,有一个包com.fool.bar.names
  • 在这个包下,我有 'tom'、'jerry'、'black'、'john' 和许多名字...
  • 我想for循环names包目录,包tom.jar,jerry.jar,black.jar...

我现在使用ant,一个蚂蚁目标调用另一个目标工作得很好而且很简单。 但是这个项目需要迁移到gradle

  • 我尝试使用任务调用其他任务,但总是得到could not find method with arguments []
  • 我尝试定义自己的任务类来解决错误,但我的所有者任务类无法使用Jar 任务。

PlZ,任何人都可以帮忙...

【问题讨论】:

    标签: java gradle


    【解决方案1】:

    如果每个包中的类(tom、jerry、black、...)相互独立,那么最​​简单的方法是为每个包创建subprojects(模块),并只放置相应的包进入每个模块。如果你这样做,并且将java插件应用到每个模块,那么你不需要编写任何特殊的过滤任务,只需运行整个项目的jar任务,你就基本上完成了。

    如果包之间存在依赖关系(但不是循环的),那么您只需让模块相互依赖即可。

    将这些包保存在同一个模块中是否有任何特殊原因?

    【讨论】:

    • 呃....这个包下有很多名字,超过50个...所以子项目不是一个好办法...
    • 我创建了一个简单的示例project 来演示该问题,并添加了一个implementation,它应该可以满足您的需求。如果您运行 jarAll 任务,它将运行所有特定于包的任务。尽管如此,我认为将项目分解为模块会更有意义,尽管一开始会产生很大的开销。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-13
    • 1970-01-01
    • 2020-06-01
    • 1970-01-01
    • 2020-02-07
    • 2021-12-01
    相关资源
    最近更新 更多