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

如何在gradle中复制依赖库JAR

翟柏
2023-03-14
apply plugin: 'java'
apply plugin: 'application'

manifest.mainAttributes("Main-Class" : "com.test.HelloWorld")

repositories {
    mavenCentral()
}

dependencies {
    compile (
        'commons-codec:commons-codec:1.6',
        'commons-logging:commons-logging:1.1.1',
        'org.apache.httpcomponents:httpclient:4.2.1',
        'org.apache.httpcomponents:httpclient:4.2.1',
        'org.apache.httpcomponents:httpcore:4.2.1',
        'org.apache.httpcomponents:httpmime:4.2.1',
        'ch.qos.logback:logback-classic:1.0.6',
        'ch.qos.logback:logback-core:1.0.6',
        'org.slf4j:slf4j-api:1.6.0',
        'junit:junit:4.+'
    )
}
task copyToLib(type: Copy) {
    into "$buildDir/output/libs"
    from configurations.runtime
}

但没有改变...我找不到文件夹输出/库...

如何将依赖项、libs、jar复制到指定的文件夹或路径?

共有1个答案

井嘉胜
2023-03-14

添加:

build.dependsOn(copyToLib)

Gradle build运行时,Gradle生成任务以及任何依赖于它的任务(由dependson声明)。如果不设置build.dependson(copyToLib),Gradle将不会将复制任务与生成任务相关联。

所以:

apply plugin: 'java'
apply plugin: 'application'

manifest.mainAttributes('Main-Class': 'com.test.HelloWorld')

repositories {
    mavenCentral()
}

dependencies {
    compile (
        'commons-codec:commons-codec:1.6',
        'commons-logging:commons-logging:1.1.1',
        'org.apache.httpcomponents:httpclient:4.2.1',
        'org.apache.httpcomponents:httpclient:4.2.1',
        'org.apache.httpcomponents:httpcore:4.2.1',
        'org.apache.httpcomponents:httpmime:4.2.1',
        'ch.qos.logback:logback-classic:1.0.6',
        'ch.qos.logback:logback-core:1.0.6',
        'org.slf4j:slf4j-api:1.6.0',
        'junit:junit:4.+'
    )
}

task copyToLib(type: Copy) {
    into "${buildDir}/output/libs"
    from configurations.runtime
}

build.dependsOn(copyToLib)
 类似资料:
  • 像这样的问题有很多,但是似乎没有一个对我有效或者直接回答我的问题。 我正在使用Jhipster和MongoDB Atlas。Jhipster使用一个名为Mongobee的库,其中使用了一个适用于MongoDB的方法,但不适用于MongoDB Atlas。要启动,Mongobee似乎不再维护。 因此,我找到了某人的建议PR,他们将其发送给Mongobee进行审查,我接受了代码更改,将MongoBe分

  • 我正在使用gradle构建我的项目,但gradle仅将工件复制到本地maven存储库,而不是所有依赖项。我需要的是将工件及其所有依赖项复制到本地maven存储库中。 请建议在gradle做这件事的方法。我尝试了gradle的文档,但没有成功。

  • 顾名思义,仓库就存放东西的. 放什么东西呢? 简单来说就是存放我们依赖的jar包. Gradle支持哪些仓库? Maven仓库 Ivy仓库 平级目录仓库 如何在构建中加入这些仓库? Ivy仓库应该用的人不多吧,这里就不多作介绍了,重点放在maven仓库上. 在build.gradle中添加仓库的声明,方法如下: 从Maven仓库中获取依赖 repositories { 1.从指定的远程mave

  • 我可以在一个多模块gradle项目中复制一个模块的所有依赖项,比如 但实际上,我只需要通过应用项目组id的过滤器来复制项目依赖项 在Gradle中,使用Kotlin DSL的正确方法是什么?

  • 问题内容: 我正在构建一个android应用程序,并且正在使用recaptcha和easywsdl存储库。这两个存储库都包含okhttp和okio jars,并且在启动存在重复类的应用程序时出现错误。但是,这些并不相同。如果我从项目中排除okhttp(由recaptcha存储库添加),则recaptcha不会具有由recaptcha添加的okhttp.jar中描述的特定方法。 代码段:http :

  • 问题内容: 假设我想在项目中添加guice-assistedinject作为依赖项。它将guice工件指定为依赖项本身。如何告诉它使用guice的no_aop版本? 我知道我可以执行以下操作,但是我可以一步完成而不排除guice模块吗? 问题答案: 没有更简单的解决方案。您可以使用简短的依赖性表示法(例如)来缩短代码。