【问题标题】:Gradle Jar Creating Task getting stuckedGradle Jar 创建任务卡住了
【发布时间】:2020-06-01 05:26:03
【问题描述】:

我是新手。在 intelliJ 中运行 gradle build 任务时,我的任务一直在无限运行并且从未完成。任务写如下:

task webjar(type: Jar) {
    from(fileTree("build")) {  
        into "META-INF/resources"
    } 
}
jar.finalizedBy('webjar')

谁能帮我指出我在这里做错了什么?

更新:当我按如下方式编写任务时,它成功完成:

task webjar(type: Jar) {
    destinationDir file("${projectDir}/build")
    from(fileTree("build")) {  
        into "META-INF/resources"
    } 
}

谢谢,

【问题讨论】:

  • 为什么要将临时build目录下的所有文件打包成一个.jar文件?我猜目录中的一些文件在执行过程中被Gradle锁定了,主要是与当前任务有关的文件。
  • @lukas 什么应该是正确的任务。它是一个反应应用程序。
  • @LukasKörfer 我应该如何解决这个问题

标签: reactjs gradle intellij-idea gradle-task


【解决方案1】:

问题是您试图将整个 build 文件夹打包到该 jar 中,其中包括 all 项目输出。

所以这很可能是那里的问题。 build 不应该是您在 META-INF/resources 中打包的内容。

相反,您需要确定哪个任务生成要包含在META-INF/resources 中的内容,并将其输出用作from 参数。

【讨论】:

  • 我明白你在说什么,但同样的项目在 Windows 机器上成功构建。我在 Ubuntu 上遇到了这个问题。
  • 仍然很确定您不想在其中包含整个 build 内容。因此,与其关注平台之间的差异,我会解决根本原因并更好地选择需要在META-INF/resources 中登陆的内容
  • 另一件事是当我在上述任务destinationDir文件中添加一个字段时(“${projectDir}/build”)然后我就可以成功构建jar了。
  • 你能用一个小例子解释我如何使用前面的任务输出来实现同样的效果
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-03-29
  • 2019-12-13
  • 1970-01-01
  • 1970-01-01
  • 2013-04-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多