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

在gradle脚本中下载depdendency是否必须定义java插件?

柯苗宣
2023-03-14

我正在编写gradle脚本,我需要从artifactory下载多个jar文件,我在gradle脚本中使用了应用插件'java',可以轻松地从artifactory中获取这些jar文件,但如果我应用了这个插件,它会自动运行jar任务,并创建我不想要的jar。有没有一种方法可以在使用/不使用java插件的情况下从artifactory下载jar文件,这样jar任务就不会触发。

apply plugin 'java'
apply plugin: 'base'

//-- set the group for publishing
group = 'com.abcdef.covery'

/**
 * Initializing GAVC settings
 */
def buildProperties = new Properties()
file("version.properties").withInputStream { 
    stream -> buildProperties.load(stream) 
} 
//add the jenkins build version to the version
def env = System.getenv()
if (env["BUILD_NUMBER"]) buildProperties.coveryadBuildVersion += "_${env["BUILD_NUMBER"]}"
version = buildProperties.scoveryadBuildVersion
println "${version}"

//name is set in the settings.gradle file
group = "com.abcdef.discovery"
version = buildProperties.coveryadBuildVersion
println "Building ${project.group}:${project.name}"


  repositories {
    maven {
      url "http://art.tsh.tho.com:90000/artifactory/services"
    }
  }

dependencies {
    runtime "covery.services:AddService:1.0@jar"    
    runtime "covery.services:AddService:1.1@jar"
   runtime "covery.services:Services:1.0@jar"
    runtime "covery.services:Services:1.1@jar"
}

task copyDeps(type: Copy) {
from configurations.runtime
into 'services/discovery/services/'
}

输出:下面显示了在脚本中使用java插件时运行的几个任务,如果我不使用,它就不会从ArtiFactory下载jar文件。

共有1个答案

利稳
2023-03-14

您不需要添加java插件来下载依赖项。如果您没有任何java源文件,我建议您使用baseplugin:

apply plugin: 'base'

repositories {
    mavenCentral()
}

configurations {
    nameOfMyConfiguration
}

dependencies {
    nameOfMyConfiguration 'org.scala-lang:scala-library:2.10.4'
}

task zipMyStuff(type: Zip) {
    from configurations.nameOfMyConfiguration
}
 类似资料:
  • 我有简单的客户端服务器应用程序使用RMI。服务器端应该生成某种PDF文件,客户端应该显示它。 当试图通过调用我自己的通用远程接口的正确方法在服务器端生成我的pdf时,被抛出在客户端。 我认为,使用RMI就像使用黑盒一样——客户机调用方法并接收响应,而不知道如何完成,对双方来说唯一的公共类是远程接口。此外,我认为这将允许我将客户端所需的依赖关系缩减到最小。 客户机必须让所有服务器的库都在其类路径中才

  • 我们的gradle构建使用SVN工具插件,在windows上运行没有问题。使用构建问题的构建脚本部分如下所示: 我尝试在ubuntu Ubuntu 18.04 LTS上运行相同的版本,但我收到了以下错误消息: 我在两台机器上使用相同版本的Java和Gradle。StackTrace显示SSL证书有一些问题。我应该怎么做才能在我的脚本中使用gradle插件存储库?

  • 我正在尝试创建一个自定义插件,我可以在gradle.build文件中应用它。有几种方法可以做到这一点,但我使用buildSrc文件夹来做到这一点。这意味着插件将绑定到我的构建,不可移植。从文档中,buildSrc文件夹应该具有以下属性: buildSrc项目您可以将任务类的源代码放在rootProjectDir/buildSrc/src/main/groovy目录中。Gradle将负责编译和测试任

  • 我遇到的问题是如何从实现构建中支持自定义任务定义。Gradle?最初,我试图从build.gradle内部扩展CustomBaseTask,但我似乎对此没有可见性,只有ootb类(Exec、DefaultTask等)。 从build.gradle定义自定义任务并从我的gradle插件向其传递预定义属性的最佳方法是什么?

  • 这方面有新的工作吗?

  • 我写了一个gradle插件,我只想在我自己的项目中使用。下面是一个简化的文件结构: 我通过引用jar文件将插件添加到模块 一开始效果很好,但有一个问题。如果您清理项目并尝试再次构建它,它将失败,因为'。/plugin/build/libs/payload-plugin-0.0.1-SNAPSHOT。jar不再存在,它将不会尝试重建插件模块,因为这将被视为配置错误。 我尝试只使用gradlew:so