Gradle等效的maven存储库管理参数

时间:2015-03-18 07:13:42

标签: maven gradle

使用Gradle构建时我想重复使用我过去创建的maven存储库进行依赖管理,它基本上可以工作,但我无法从Gralde官方文档中找到以下问题的答案:

  1. 在maven依赖关系解析期间,Gradle是否从默认位置(我的主文件夹)重用了我的settings.xml?
  2. 如何在Gradle中指定存储库而不是使用默认存储库?我可以在maven命令中使用-Drepository参数轻松完成。
  3. 如何控制更新政策?我的意思是总是每周更新快照依赖项和更新发布依赖项,或者我在settings.xml中的设置是否也对Gradle生效?
  4. 提前致谢。

    B.R。

1 个答案:

答案 0 :(得分:2)

以下我的答案基于gradle用户指南的以下章节:

现在,具体答案:

  1. 根据DEPENDENCY MANAGEMENT BASICS(第51.6.4节。本地Maven存储库),我想这个问题的答案是肯定的:
  2.   

    Gradle使用与Maven相同的逻辑来识别您的位置   本地Maven缓存。如果在a中定义了本地存储库位置   settings.xml,将使用此位置。中的settings.xml   USER_HOME / .m2优先于M2_HOME / conf中的settings.xml。   如果没有可用的settings.xml,Gradle将使用默认位置   USER_HOME / .m2目录/库。

    这适用于定义为:

    的本地存储库
    repositories {
        mavenLocal()
    }
    
    1. gradle用户指南中的8.5. Repositories51.6. Repositories部分介绍了几种定义您要使用的存储库的方法。这些包括使用mavenCentral,指定远程自定义Maven存储库,例如:maven { url "http://repo.mycompany.com/maven2" }等。如果您想通过命令行传递存储库,那么您可以使用gradle system property为此。

    2. 我认为51.9. THE DEPENDENCY CACHE部分包含您正在寻找的信息。简而言之,默认缓存为24小时。但是,可以覆盖配置ResolutionStrategy的内容,例如:resolutionStrategy.cacheDynamicVersionsFor 10, 'minutes'。 关于使用settings.xml中的设置,我找不到明确的答案,但欢迎您试一试:)