【问题标题】:Using Eclipse Gradle plugin - how to host and use dependencies (library jar files) Offline使用 Eclipse Gradle 插件 - 如何离线托管和使用依赖项(库 jar 文件)
【发布时间】:2023-03-17 09:35:01
【问题描述】:

附录:我的问题与 this question 不同,因为该问题涉及下载完全相同依赖项每次 项目被执行,即一次又一次。因此,一旦下载了依赖项,将不会再次下载相同的依赖项。

但我的问题不同:我需要在一个完全离线的系统中从头到尾处理一个项目。所以我在构建过程中永远无法获取在线依赖项。我需要手动下载它们并将它们托管在我的项目目录中。


我正在尝试在 Eclipse 中使用 Gradle 插件,我正在关注 this guide。最初,当我完全按照教程进行操作并完全按照教程的指示进行操作时,一切顺利。我已在问题末尾粘贴了build.gradle

但现在有一个转折/挑战。我需要学习如何离线托管和管理离线程序的所有依赖项。

本教程中的项目使用的是 Google 的 Guava 库,该库是 here。所以我在我的项目根目录中创建了一个libs 目录并将所有文件下载到其中并将所有这些.jar 文件添加到我在Eclipse 中的项目的build path 中。

但我不知道如何从这里开始。这就是问题所在。我应该对我的build.gradle 文件进行哪些更改以及我应该在我的项目中做些什么,以便我的项目可以从它自己的文件夹中选择那些.jar 依赖项并在离线系统上运行良好。

build.gradle 从链接教程中复制和粘贴 - 选择“在线”依赖项。问题是如何为离线项目托管和使用这些依赖项:

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

repositories {
    jcenter()
}

dependencies {
   compile 'com.google.guava:guava:20.0'  // Google Guava dependency
   testCompile 'junit:junit:4.12'         // JUnit dependency for testing
}

mainClassName = 'com.boraji.tutorial.MainApp'  // Main class with main method

【问题讨论】:

标签: java eclipse gradle build.gradle gradle-eclipse


【解决方案1】:

Gradle 在避免重新下载工件方面做得很好,但您可以将 --offline 传递给 Grade 以防止在构建期间访问网络。如果它需要网络中没有的东西,而不是尝试获取它,您的构建将失败。

请看一下这个问题How to configure gradle to work "offline" (using cached dependencies)。 回答信用@iagreen

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-01
    • 2022-08-02
    • 2018-07-19
    • 1970-01-01
    • 2020-02-05
    • 2013-08-01
    • 1970-01-01
    • 2020-09-14
    相关资源
    最近更新 更多