Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 我如何告诉gradle使用最新的库,快照还是否?_Android_Maven_Gradle_Aar - Fatal编程技术网

Android 我如何告诉gradle使用最新的库,快照还是否?

Android 我如何告诉gradle使用最新的库,快照还是否?,android,maven,gradle,aar,Android,Maven,Gradle,Aar,我有一个具有以下结构的个人maven回购设置: root (accessible via http) - maven/ - com/ - mycompany/ - core/ - core/ - 1.1.0-SNAPSHOT/ - 1.1.0/ - maven-metadata.xml - maven-metadata.xml.md5 -

我有一个具有以下结构的个人maven回购设置:

root (accessible via http)
 - maven/
   - com/
     - mycompany/
       - core/
         - core/
           - 1.1.0-SNAPSHOT/
           - 1.1.0/
           - maven-metadata.xml
           - maven-metadata.xml.md5
           - maven-metadata.xml.sha1
现在,在1.1.0和1.1.0-SNAPSHOT目录中有相应的库,我正在android上运行aar格式。在我希望使用此库的build.gradle文件的项目中,我有以下内容:

repositories {                                                                  
    maven { url 'http://builds.myserver.net/maven' }

}
dependencies {
      compile 'com.mycompany.core:core:1.1.0@aar'                       
}
> Could not resolve all dependencies for configuration
> Could not resolve com.mycompany.core:core:latest.integration.
     Required by:
         my-project:MyApp:unspecified
      > java.lang.NullPointerException (no error message)
现在,当我执行./gradlew-刷新依赖项时,它当然会下载1.1.0版而不是1.1.0版快照。如果我将依赖项更改为compile'com.mycompany.core:core:1.1.0-SNAPSHOT@aar,然后找到相应的快照。这一切都很好,但我真正想要的是能够指定最新的版本。例如,如果我有一个版本的库1.2.0,它应该会找到它,或者1.2.0-SNAPSHOT,它应该会找到它。我试过编译'com.mycompany.core:core:1.1.0+@aar',但仍然只能找到版本1.1.0,而不是1.1.0-SNAPSHOT,如果我有1.2.0或1.2.0-SNAPSHOT,也找不到

我想知道如果在repo中找不到最新的库,+,它的目的是什么。它是否只跟踪第一个版本号?或者是过时了

编辑:

正如建议的那样,我尝试将build.gradle引用设为latest.integration,例如:compile'com.mycompany.core:core:latest.integration'我也删除了the@aar,但当我运行./gradlew-refresh dependencies`时,我看到以下内容:

repositories {                                                                  
    maven { url 'http://builds.myserver.net/maven' }

}
dependencies {
      compile 'com.mycompany.core:core:1.1.0@aar'                       
}
> Could not resolve all dependencies for configuration
> Could not resolve com.mycompany.core:core:latest.integration.
     Required by:
         my-project:MyApp:unspecified
      > java.lang.NullPointerException (no error message)
我想知道这是不是因为gradle的旧版本。看起来我们正在使用:

mustafar scottjohnson$ ./gradlew --version

------------------------------------------------------------
Gradle 1.12
------------------------------------------------------------

Build time:   2014-04-29 09:24:31 UTC
Build number: none
Revision:     a831fa866d46cbee94e61a09af15f9dd95987421

Groovy:       1.8.6
Ant:          Apache Ant(TM) version 1.9.3 compiled on December 23 2013
Ivy:          2.2.0
JVM:          1.6.0_65 (Apple Inc. 20.65-b04-466.1)
OS:           Mac OS X 10.10.1 x86_64
当我使用-info运行它时,它似乎仍然在寻找1.2.0而不是1.2.0-SNAPSHOT:


com.mycompany.core:core:latest.integration应该可以做到这一点。com.mycompany.core:core:+在某些Gradle版本中具有相同的效果,但仅与其他Gradle版本中的版本(即非快照)匹配。获取最新版本的安全方法是latest.release@假设发布了具有正确包装类型的POM,并且将禁用可传递依赖项解析(通常不是您想要的),aar应该是不必要的。

当您使用1.1.+或1.2.+时,您得到了您想要的吗?从中,Gradle可能会使用,这可能会给你提供其他语法的想法,让我试试,我会让你知道的。谢谢你的建议。很抱歉反应太晚。。。假期等等;我已经编辑了上面的问题,但当我尝试使用最新的.integration时看到了一个异常。我必须看到-stacktrace。尝试使用最新的Gradle版本。