【问题标题】:Gradle Class-Path for executable jar可执行 jar 的 Gradle 类路径
【发布时间】:2021-01-10 00:49:47
【问题描述】:

我想用 gradle 生成我的 java 项目的可执行 jar 文件。但是我不知道如何引用我的依赖项的 jar,因为它们位于项目外部的某个缓存目录中。我怎样才能让它们进入我的项目。

这些是我的依赖项:

dependencies {
// This dependency is exported to consumers, that is to say found on their compile classpath.
api 'org.apache.commons:commons-math3:3.6.1'

// This dependency is used internally, and not exposed to consumers on their own compile classpath.
implementation 'com.google.guava:guava:29.0-jre'

// Use JUnit test framework
testImplementation 'junit:junit:4.13'

implementation 'mysql:mysql-connector-java:8.0.19'
implementation 'org.hibernate:hibernate-core:5.4.12.Final'
implementation 'org.hibernate.validator:hibernate-validator:6.0.18.Final'
implementation 'org.hibernate:hibernate-c3p0:5.4.21.Final'
implementation 'org.reflections:reflections:0.9.11'
implementation 'com.fasterxml.jackson.core:jackson-databind:2.11.2'
}

感谢您的帮助!

【问题讨论】:

    标签: java gradle build jar dependencies


    【解决方案1】:

    查看application plugin,它会为您解决这个问题。

    特别是,此插件具有 distZipdistTar 任务,它们将为您的应用程序创建一个分发版,其中包含 lib 文件夹中的依赖项和带有类路径设置的启动脚本。

    【讨论】:

    • 感谢您的回答。目前我正在将我的依赖项复制到我的构建目录中的 libs 子目录中,并遍历它们以获取我的类路径。问题是我想从 jar 中排除我的资源,因为我希望能够配置我的项目,即使我只有我的 jar 和依赖项。应用程序插件是否也有一种流畅的方法来做到这一点?
    猜你喜欢
    • 1970-01-01
    • 2017-02-04
    • 1970-01-01
    • 2019-09-10
    • 1970-01-01
    • 2015-07-13
    • 1970-01-01
    • 1970-01-01
    • 2018-07-24
    相关资源
    最近更新 更多