- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在开发一个包含两个 Android 库项目的项目。当我将这些库上传到我的 Maven 存储库 (Nexus) 时,生成的 pom 不包含 <type>aar</type>
依赖项中的元素。
这是我的依赖树
* App1
\
* lib1
|\
| * lib2
* Other libs
您可以在此图中看到我的 app
取决于 lib1
, 这取决于 lib2
.这两个库都是 Android 库项目,因此是 AAR。
lib1/build.gradle
apply plugin: 'com.android.library'
apply from: 'https://raw.github.com/chrisbanes/gradle-mvn-push/master/gradle-mvn-push.gradle'
android {
compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion
defaultConfig {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion 20
versionCode 1
versionName "1.0"
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
provided project(':lib2')
compile 'com.squareup.picasso:picasso:2.3.3'
}
lib2/build.gradle
apply plugin: 'com.android.library'
apply from: 'https://raw.github.com/chrisbanes/gradle-mvn-push/master/gradle-mvn-push.gradle'
android {
compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion
defaultConfig {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion 19
versionCode 1
versionName '1.0'
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:19.+'
compile 'com.squareup.retrofit:retrofit:1.6.1'
compile 'com.squareup.okhttp:okhttp-urlconnection:2.0.0'
compile 'com.squareup.okhttp:okhttp:2.0.0'
}
注意如何 Lib1
包括 Lib2
作为 project()
依赖。
现在,当我使用 Chris Banes 出色的 gradle-mvn-push 插件部署它时,一切都按预期进行。我在生成的 pom.xml 中只注意到一个奇怪的地方。
<dependencies>
<dependency>
<groupId>com.example</groupId>
<artifactId>lib2</artifactId>
<version>0.0.1-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
...
</dependencies>
请注意 mavenDeployer 插件遗漏了 <type>aar</type>
生成 pom 时依赖项中的元素。
在我的应用程序项目(这是一个 Maven 项目)中,我列出了这个依赖项:
<dependencies>
<dependency>
<groupId>com.example</groupId>
<artifactId>lib1</artifactId>
<version>0.0.1-SNAPSHOT</version>
<type>aar</type>
</dependency>
...
</dependencies>
尝试使用 Maven 构建它时,出现以下错误。
Could not resolve dependencies for project com.example:app:apk:1.0.0-SNAPSHOT: The following artifacts could not be resolved: com.example:lib2:jar:0.0.1-SNAPSHOT
注意它是如何寻找库的 jar 版本的。我相信,因为没有生成 mavenDeployer 插件 <type>aar</type>
在生成的pom的依赖列表中,maven默认是在寻找一个jar。
有谁知道如何使用 Gradle 构建包含 transient 依赖项的 Android 库项目?
最佳答案
只需使用任何文本编辑器将 aar 添加到 pom。之后,打开一个控制台进入项目的根目录(pom 所在的位置)并运行“mvn clean install”。将生成 aar Artifact 并将其部署到您的 Maven 存储库。
无论如何,使用 Maven 创建 aar 库要容易得多。只需使用任何 android 库原型(prototype)创建一个 Maven 项目(de.akquinet 的原型(prototype)非常好,但您必须使用 3.8.2 和 3.9 之间的插件版本,http://mvnrepository.com/artifact/de.akquinet.android.archetypes)。只需创建项目,添加库,然后运行命令“mvn clean install”将它们安装到本地 maven 目录中。之后,只需将它们用作普通的 aar 依赖项即可。
关于Android 库项目 transient 依赖松散 AAR 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26026060/
我知道这个问题已经被问过很多次了,但我找不到适合我的答案。 我在 Spring Roo 应用程序中有两个实体,它们处于多对多关系、发布和组件中。 首先,我通过以下方式获取现有版本的实例 selecte
我正在尝试将用户详细信息存储到下表中:user、role、user_role。尝试保存详细信息时,它会引发以下错误。 Error during managed flush [org.hibernate
我有两个 hibernate 实体 Coupon 和 CouponHistory,在 CouponHistory 和 Coupon 之间具有单向关系。 @Entity @Table(name = "v
我在外键 dimension_id 之一的表中有表 product。所以在服务层编写我的测试用例时它显示了错误。 这是我的测试用例 @Transactional(propagation = Propa
在 ARM 架构手册中提到缓存可以是 transient 的和非 transient 的,并且它是由实现定义的。我无法理解关于缓存的 transient 内存的概念和使用。我正在尝试编写启用 MMU
我有 2 个域模型和一个 Spring REST Controller ,如下所示: @Entity public class Customer{ @Id private Long id; @OneT
我知道这个问题在Stackoverflow中有很多问题,但是即使有很多答案,这些答案也帮不了我什么,也没有找到答案。 在我的WebAPP中,它可以正常工作,但是当我将其转换为API时,它失败了(主题标
我有以下域名 class User { Boolean accountLocked String password Boolean passwordExpired Bo
我写了一个 elisp 宏,在 transient-mark-mode 中保留区域: (defmacro keep-region (command) "Wrap command in code t
这是我的员工类(class): @Entity public class Employee { @Id @GeneratedValue private int id; private String f
我正在通读 Windows Phone 7.5 Unleashed,有很多代码看起来像这样(在页面的代码隐藏中): bool loaded; protected override void OnNav
我有一个自连接员工实体类,其中包含与其自身相关的 id、name 和 ref 列。我想创建它的新实例并将其保存到数据库。 首先我创建了一个 Employee 类的实例并将其命名为 manager。然后
我有一个用于添加新公寓的表单,在该表单中我有一个下拉列表,用户可以在其中选择负责的人员。 显然,当您从下拉列表中选择并尝试保存公寓时,我的应用程序认为该人已被修改。它给了我下面的错误,指示我应该首先保
我正在尝试保存一个复杂的对象,该对象内部有许多引用元素,而且它在大多数情况下都能完美运行。 但是在某些情况下,我们会遇到以下异常, object references an unsaved trans
我遇到了一些可能的问题答案,但这是关于从 Hibernate 3.4.0GA 升级到 Hibernate 4.1.8 的问题。所以这曾经在以前的版本下工作,我已经四处搜索了为什么它在这个新版本中出现了
似乎一遍又一遍地问这个问题,我仍然找不到解决我问题的答案。我在下面有一个域模型。每个新创建或更新的“安全用户”都需要我确保其具有配置文件,如果没有,则创建一个新的配置文件并分配给它。 配置文件的要求相
我很难调试为什么 JPA 不级联我的 @ManyToMany 关系。我发现的所有答案都与缺少级联语句有关。但我确实拥有它们并且仍然得到: Caused by: org.hibernate.Transi
例如,当我使用 transient 通过更改 translate(x, y) 的值来实现 2s 持续时间的动画时。如何获取0.5s时刻translate(x, y)的当前值? 最佳答案 我认为你做不到
我在尝试保存属于多对多关联的对象时收到 TransientObjectException。我有点理解为什么会这样,但想了解如何正确完成我正在尝试做的事情。 简而言之,我正在尝试做的事情: 我的应用程序
transient final int 和 transient final Integer 有什么不同。 使用 int: transient final int a = 10; 序列化前: a = 1
我是一名优秀的程序员,十分优秀!