【发布时间】:2015-09-18 15:31:11
【问题描述】:
我有一个实用程序库,用于“普通”Java 项目和 Android 项目。
这些平台之间存在细微差别:
- Java SE 需要
org.json:json:20080701作为依赖项 - Android 已经在核心平台中为 JSON 提供了一个编译兼容的库
我想要什么
最好的情况是有一个 pom.xml 来创建和部署 2 个工件,例如
- mylib-android-1.2.0.jar
- mylib-1.2.0.jar
我发现了类似“分类器”之类的东西,可能用于此目的,但我只在依赖关系的上下文中看到了这一点,而不是用于定义构建工件。
谁能给我举个例子(可能是一个著名的开源项目)如何做到这一点?
备注:我尝试使用 <scope>provided</scope> 定义 org.json:json:20080701,但 Android Gradle 构建抱怨潜在的不兼容性,这将迫使“Java SE”用户添加此依赖项。不是理想的解决方案。
如果你想查看 pom.xml,这里是:https://github.com/hgoebl/DavidWebb/blob/v1.1.0/pom.xml
这是使用当前库时的 Gradle 输出:
警告:releaseUnitTest 忽略依赖关系 org.json:json:20080701,因为它可能与 Android 提供的内部版本冲突。 如有问题请用jarjar重新打包更改类包
【问题讨论】:
标签: java android maven gradle android-gradle-plugin