我正在用Gradle构建一个OSGi jar,但清单有点问题。以下是我的构建脚本的摘录:
apply plugin: 'java'
apply plugin: 'osgi'
jar {
baseName = 'awesome'
manifest {
name = 'An Awesome Application'
symbolicName = 'com.example.awesome'
// instruction 'Import-Package', 'org.springframework.orm'
}
}
使用上述方法,Gradle会检测我的依赖项,并添加一个包含所有编译时依赖项的导入包
。但是假设我的应用程序在运行时依赖于org。springframework。orm
同样,我如何告诉Gradle将其作为参数包含在导入包中?
在上述注释行未注释的情况下,生成的Import Package
指令仅指定org。springframework。orm
。这让我很困惑,因为OsgiManifest的Gradle文档说明
OsgiManifest指令(字符串名称、字符串…值)
向指令中添加参数。如果指令不存在,则创建该指令。如果它确实存在,参数将附加到现有参数。
然而,这似乎不适用于自动检测到的导入包
参数。如果我指定指令'导入包','my.dependency.1'
等等,并在两者之间打印jar.manifest.instructions
,我可以看到它们是如何按顺序添加的,并且它们都出现在生成的清单中,但是如果手动指定导入包
,Gradle的OSGi插件似乎不会添加自动检测到的参数。
Import Package
指令,它会自动生成,并带有我所有的编译时依赖项,但不是运行时依赖项
清单{instruction'Import Package',org.springframework.orm'}
,则编译时依赖项不会自动包含在内
如何告诉Gradle我的运行时依赖项,以便将它们添加到导入包?
我不熟悉Gradle bnd插件,但我熟悉bnd。
bnd指令中导入包的默认值为*
。方法:匹配所有生成的导入。如果为导入包
指定一个值,则它将覆盖*
,并成为唯一的导入。因此,您的导入包
指令几乎总是以最后一个位置的catch all*
结束。
猜测一下这将如何转化为Groovy/Gradle,我建议如下:
说明“导入包”、“组织”。springframework。orm','*'
我使用的是Android studio版本 在项目级分级中: 模块级别等级: 当我导入它时,它发生错误 导入此时 xml错误 错误图片 在xml中添加此标记时发生错误 为此给出解决方案!!!
npm是否有安装依赖作为对等依赖的选项,如yarn选项,而不是手动添加它例如: 感谢@Broncha,更新问题的更多说明 问题是如何向项目添加对等依赖。那就是 将依赖项添加到package.json中的“dependencies”中, 如何安装将其添加到package.json?中的“对等依赖”的依赖项
所以,我有一个配置了包注册表的GitHub项目。它有两个包: 包页面只有Maven的说明,除此之外,说明被破坏了(不是在Maven中添加依赖项的有效方法): 问题是:如何在Gradle构建中添加该包?
我尝试使用MaxMind的GeoIP2数据库,我已经将jar添加到我的Java构建路径中,并用Javadoc和源代码配置了它,但是当我运行这个程序时,我得到了一个NoClassDefFound错误,根据这个堆栈溢出的答案,这是因为我需要添加依赖项,但我不知道如何在eclipse中添加它们,我试图提取jar文件并将它们添加到构建路径中,但这不起作用,我在eclipse中如何做到这一点? 谢谢你的帮助
本文向大家介绍android-gradle 如何添加依赖项,包括了android-gradle 如何添加依赖项的使用技巧和注意事项,需要的朋友参考一下 示例 下面的示例描述了如何在app /模块的build.gradle文件中声明三种不同类型的直接依赖关系: