java - 将 Gradle 依赖项保存到目录

标签 java intellij-idea gradle

如何将模块的所有依赖 jar 保存到目录中?我有一个在 IntelliJ IDEA 中运行的应用程序,但我想在另一台计算机上运行它,因此我需要将所有 JAR 文件复制到那里。

最佳答案

首先,请考虑使用 Gradle(或 Gradle Wrapper)在另一台计算机上执行诸如获取/下载项目依赖项之类的操作。但是如果您出于任何其他原因需要复制依赖项,您可以定义类似于以下的任务:

task copyDependencies(type: Copy) {
    from configurations.runtime
    into "lib"
}

当你运行时:

gradle copyDependencies

运行时依赖项将被复制到 lib/ 文件夹。

例子

build.gradle

apply plugin: 'groovy'

repositories {
    mavenCentral()
}

dependencies {
    compile 'org.codehaus.groovy:groovy-all:2.3.11'
    compile group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: '2.9.1'
    compile group: 'com.h2database', name: 'h2', version: '1.4.196'

    testCompile group: 'org.spockframework', name: 'spock-core', version: '1.1-groovy-2.4'

}
task copyDependencies(type: Copy) {
    from configurations.runtime
    into "lib"
}

命令:

gradle copyDependencies

lib/目录包含:

lib
├── groovy-all-2.3.11.jar
├── h2-1.4.196.jar
└── jackson-core-2.9.1.jar

使用 Gradle 包装器

如前所述,请考虑使用 Gradle Wrapper因此您不必担心另一台计算机上是否安装了 Gradle 发行版。如前所述 in the documentation您可以轻松添加 Gradle Wrapper 然后运行

./gradlew [task]

通过使用 wrapper 而不是安装在操作系统上的 Gradle。在你的情况下运行

./gradlew build 

将下载所有依赖项并构建项目。这比手动复制依赖项要好得多,Gradle 的发明就是为了帮我们做这件事。

关于java - 将 Gradle 依赖项保存到目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46628910/

相关文章:

java - SAX 解析器不工作

java - 使用分页数据表和 ajax 迭代参数

java - 防止 Jackson @JsonIgnore 引入重复

java - 使用 Fast-Video-View 自动启动视频

java - 从 Java 启动且代码为 `Runtime.getRuntime().exec` 的进程无法访问文件系统位置

actionscript-3 - Flex AIR - IntelliJ 中的 application.xml 在哪里

scala 项目在 intellij 中不起作用

maven - 如何避免 IntelliJ IDEA 中出现 "The package is not exported by the bundle dependencies"错误?

maven - Gradle 替代 maven <packaging>pom

gradle - Gradle 3.3中任务执行顺序错误