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

Gradle任务不执行其依赖项

许阿苏
2023-03-14

我试图通过这个Gradle插件https://github.com/theboegl/gradle-launch4j使用http://launch4j.sourceforge.net/。

当我执行gradle、clean、launch4j时,我会得到以下输出。

:clean
:compileJava
:processResources UP-TO-DATE
:classes
:jar
:copyL4jLib
:generateXmlConfig
:createExeWithBin SKIPPED
:unzipL4jBin
:copyL4jBinLib
:createExeWithJar FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':createExeWithJar'.
> meta-tagger.exe not created:
        launch4j: Icon doesn't exist.

这是我的年级版本信息。

Gradle 2.10
Build time:   2015-12-21 21:15:04 UTC
Build number: none
Revision:     276bdcded730f53aa8c11b479986aafa58e124a6

Groovy:       2.4.4
Ant:          Apache Ant(TM) version 1.9.3 compiled on December 23 2013
JVM:          1.8.0_66 (Oracle Corporation 25.66-b18)
OS:           Windows 7 6.1 amd64

这是我的构建脚本。

plugins {
    id 'edu.sc.seis.launch4j' version '1.6.1'
    id 'java'
}

repositories {
    mavenLocal()
    mavenCentral()
    jcenter()
}

sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8

task copyResources(type: Copy) {
    from 'src/main/wrapper-resources/'
    into 'build/launch4j'
}

copyL4jLib {
    dependsOn copyResources
}

launch4j {
    mainClassName = 'com.mpinnegar.Main'
    icon = 'favicon.ico'
    headerType = 'console'
    errTitle = 'Image Tagger'
    stayAlive = true
}

tasks.copyL4jLib.dependsOn copyResources

共有1个答案

韦翰音
2023-03-14

似乎这个插件正在做一些令人费解的事情。首先,它创建任务(请参见https://github.com/theboegl/gradle-launch4j/blob/develop/src/main/groovy/edu/sc/seis/launch4j/launb/develop/sc/lainch4j/groovy#l50),然后在after evaluate块中替换该任务(请参见

要解决此问题,您应该能够将任务依赖项设置放在Afterevalue块中,以确保配置的是Replaced任务:

afterEvaluate {
    copyL4jLib.dependsOn copyResources    
}
 类似资料:
  • 我不想开始一个与这个问题相关的新问题,因为我知道已经有几个了,但我仍然没有找到解决方案,我卡住了。 我当前收到错误: 错误:任务执行失败:app:transformClassesWithDexForDebug。 “进程”异常: “目录 jdk1.7.0_79”以非零退出值 2 完成 这就是Gradle控制台的功能 意外的顶级异常:com.android.dex.DexException:多个dex

  • 我需要找到一种在java中并行执行任务(依赖和独立)的方法。 任务A和任务C可以独立运行 任务B取决于任务A的输出 我查了java。util。并发Future和Fork/Join,但看起来我们无法向任务添加依赖项。 有人能告诉我正确的Java API吗。

  • 我有两个互斥的任务,它们都应该在完成后启动。 我提到它们是互斥的,因为我不想让< code>bootRun依赖于它们中的任何一个。相反,我在寻找一个类似如下的流程: 我尝试了以下方法, 因此,将启动设置()和bootRun(与的类似设置)。这会导致在项目'中找不到路径'bootRun'的 我还尝试将A/B任务声明为:< code > task A(type:org . spring framewo

  • 根据我的理解,clean现在将调用clearVersionProperties,war将调用WriteVersionProperties。 但当我执行分级清洁时,Reactor计划看起来是这样的: 为什么要执行clearVersionProperties和writeVersionProperties任务,因为它们绑定到某些构建阶段?例如,不执行任务infoEnv,而是执行任务writeVersio

  • 问题内容: 可以运行以了解模块任务的依赖性。有没有办法找到 buildscript依赖 的 传递依赖 ? 示例: 直接取决于: 可以在MVNRepository上看到。但是,这些工件有其自己的依赖性。有没有找到方法而无需手动遍历整个依赖树的方法? 为了澄清起见,我正在谈论的类路径由以下方式定义: 问题答案: 您可以使用以下命令: Udacity提供了很棒的Android Gradle 教程,但是您

  • 我对Gradle完全陌生。首先,我尝试为简单的控制台Java应用程序创建一个构建脚本,而不使用Java插件。maven repository中的代码中只有两个依赖项。因此,我的构建包含一个任务,它扩展了JavaCompile,我在其中指定了类路径、目标等 我的项目不应用java插件,因此我需要自己创建依赖项配置,如下所示: 然后我可以将依赖项绑定到此配置: 据我所知,在那之后我必须将那些配置与我的