gpt4 book ai didi

copy - 如何在gradle中复制依赖库JAR

转载 作者:行者123 更新时间:2023-12-02 09:23:25 28 4
gpt4 key购买 nike

我用这个build.gradle得到了一个可运行的jar

    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.+'
)
}

但运行失败,因为找不到依赖项 jar。

然后我添加以下代码:

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

但没有任何改变。我找不到文件夹output/libs。

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

最佳答案

添加:

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)

关于copy - 如何在gradle中复制依赖库JAR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14669809/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com