我有一个java类,它可以执行某种功能,其中一个函数返回一些我需要将它用于gradle脚本来设置项目属性。
我通过创建项目工件来实现它,并通过将其添加到类路径中来使用该工件,这使我可以访问该类和函数。
buildscript {
repositories {
jcenter()
maven{
url 'http:localhost:8081/artifactory/temp'
}
}
dependencies {
classpath "utility:sampleutility:1.0"
}
}
import com.polsys.utility.MyUtil
dependencies {
compile 'org.slf4j:slf4j-api:1.7.13'
compile 'HRP:'+new MyUtil().callMe()+':1.0'
//callme function returns the name of artifact.
testCompile 'junit:junit:4.12'
}
现在,我通过上面提到的方式实现了它,即创建工件,将该工件添加到类路径中,然后导入类并使用函数。这是否可以调用当前项目的功能?所以我可以将工件中可用的功能合并到当前项目中。
答案 0 :(得分:2)
简单的方法是将您的Java / Groovy代码放在buildSrc
目录下。 Gradle将编译它,您将能够从您的buildscript中调用此代码。查看https://docs.gradle.org/current/userguide/custom_plugins.html及相关文档。
答案 1 :(得分:2)
要使您的Java代码可用于gradle脚本,您需要将java代码放在下面给出的目录层次结构中:
这是gradle脚本查找外部插件的路径。现在,您可以将类导入和访问到gradle脚本中(您最终不会得到" 无法解析类"错误)。