我对Gradle完全陌生。首先,我尝试为简单的控制台Java应用程序创建一个构建脚本,而不使用Java插件。maven repository中的代码中只有两个依赖项。因此,我的构建包含一个任务,它扩展了JavaCompile,我在其中指定了类路径、目标等
我的项目不应用java插件,因此我需要自己创建依赖项配置,如下所示:
configurations {
myCompile {
desciprtion = 'my own compile dependency configuration'
transitive = true
}
}
然后我可以将依赖项绑定到此配置:
dependencies {
myCompile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.7'
myCompile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.7'
}
据我所知,在那之后我必须将那些配置与我的编译操作绑定,但我无法弄清楚如何。有人可以向我指出这一点吗?任何帮助都将非常感谢)
P. S.我已经阅读了这个在Gradle中,将任务与依赖配置相关联,并且提到了源代码集。所以,我可以创建源代码集myThing,并且将为我创建具有配置的任务?这在没有java插件的情况下可以工作吗?
P. S.我想在没有插件的情况下实现这个简单的任务只是为了学习Gradle,它是基本工具:)
最后,我使用这段代码编译了没有java插件的项目:
task resolveCompileDependency(type: Copy) {
//download libraries specified in dependency configuration
def lib_files = configurations.myCompile.resolve()
//print names of downloaded files and copy to build directory (optional)
lib_files.each {File file ->
println file.name
}
from lib_files
into 'build/classes'
outputs.files(lib_files)
}
而编译任务只是普通的JavaCompile任务,它依赖于解析编译依赖。
希望这会对某人有所帮助。
首先使用exec任务类型创建编译任务,请参阅DSL refreence for exec。
创建编译任务时,您可以使用getAsPath()获取对配置的引用,请参阅FileCollection的API文档
configurations.myCompile.getAsPath()
但说真的,我建议您为此应用java插件。
如果你觉得需要一个快速的初学者课程,试试这个视频。
我有两个互斥的任务,它们都应该在完成后启动。 我提到它们是互斥的,因为我不想让< code>bootRun依赖于它们中的任何一个。相反,我在寻找一个类似如下的流程: 我尝试了以下方法, 因此,将启动设置()和bootRun(与的类似设置)。这会导致在项目'中找不到路径'bootRun'的 我还尝试将A/B任务声明为:< code > task A(type:org . spring framewo
根据我的理解,clean现在将调用clearVersionProperties,war将调用WriteVersionProperties。 但当我执行分级清洁时,Reactor计划看起来是这样的: 为什么要执行clearVersionProperties和writeVersionProperties任务,因为它们绑定到某些构建阶段?例如,不执行任务infoEnv,而是执行任务writeVersio
嗨,如果我用任务列出所有任务--我看到所有导入的ant任务,但是当我试图创建依赖于ant任务的任务时,我得到的是“Could not determine the dependencies of task':testgradle'”。 出现问题的行:-它显然看不到ant init任务。 我做错了什么? 所有编译-编译主源树java文件 byWorld5 copyTestConfiguration-复
我有一些与jdbc相关的通用代码,我想单独打包到一个可运行的jar中,其中已经包含了所需的jdbc库,因此每个数据库类型都有一个单独的可运行jar。源代码将保持不变,但打包的jdbc jar将不同。 例如jdbc app postgres。jar将只包含postgres jdbc jar,而jdbc应用程序mysql。jar将包含mysql jdbc jar。 是否可以使用gradle对任务或任何
我试图通过这个Gradle插件https://github.com/theboegl/gradle-launch4j使用http://launch4j.sourceforge.net/。 当我执行时,我会得到以下输出。 这是我的年级版本信息。 这是我的构建脚本。