问题标签 [bnd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
eclipse-plugin - 如何使用正确加载的本机库制作 JOGL OSGI 捆绑包?
我已经尝试了好几天:http: //forum.jogamp.org/JOGL-with-OSGi-td3773888.html#a4029139
该库在 jar 中嵌入了原生依赖项。 http://search.maven.org/#artifactdetails|org.jogamp.jogl|jogl-all|2.0-rc11|jar http://search.maven.org/#artifactdetails|org.jogamp.gluegen|gluegen-rt |2.0-rc11|jar
你能提供详细的说明来制作这个的osgified版本吗?如果您可以在此过程中使用 bnd http://www.aqute.biz/Bnd/Bnd或 bndtools http://bndtools.org/ ,那就太好了。
我试图用嵌入的所有东西制作一个巨大的捆绑包,但我无法制作 karaf 来找到本机库:我不断收到错误“java.library.path 中没有 glagegen-rt”
我试图制作一个片段包,但无法使这些片段匹配...尝试使用 bnd,尝试使用 eclipse。需要更有经验的人的帮助。
我一直在尝试将它与 Apache Karaf 一起使用,所以如果您可以使用 Karaf 2.3.1 来实现它会非常好。如果您知道如何使用 Eclipse RCP 4.2 来实现它,那么请帮忙!
apache - bnd 如何决定适用于导入包的版本范围?
我有一个问题,我正在使用 maven war 插件构建战争并使用 bnd 插件覆盖它,如将 OSGi 元数据添加到现有项目中所述,而不更改打包类型。 该项目定义了以下依赖项:
当我运行构建时,它会在 MANIFEST.MF 中生成以下条目
一旦我将版本更改为 1.13 或更高版本,Import-Package 条目就会变为:
这对我来说是一个真正的问题,因为我的目标中有 javax.ws.rs.javax.ws.rs-api_2.0.0.m16。这将解决不需要版本的情况下的导入,但在存在范围限制时停止这样做。
所以,我的一般问题是:bnd 如何决定版本范围?两个次要版本之间发生了一些变化,使其从无版本限制变为特定范围,因此我认为了解 bnd 如何做出该决定将有助于我发现这个特定问题是什么。
osgi - 如何使用 bnd API 指示不需要导出/导入的包
我是 osgi 的新手,我想知道如何使用 bnd API 指示不需要导出/导入的包
osgi - 如何为运行时依赖项添加 Import-Package 指令?
我正在使用 Gradle 构建一个 OSGi jar,但清单有点麻烦。这是我的构建脚本的摘录:
使用上述内容,Gradle 会检测我的依赖项并添加Import-Package
我所有的编译时依赖项。但是说我的应用程序也有运行时依赖org.springframework.orm
,我如何告诉 Gradle 将其作为参数包含在Import-Package
?
如果上面的注释行未注释,则生成的Import-Package
指令仅 org.springframework.orm
指定. 这让我很困惑,因为OsgiManifest 的 Gradle 文档指出
OsgiManifest instruction(String name, String... values)
向指令添加参数。如果该指令不存在,则创建它。如果确实存在,则将参数附加到现有参数。
但是,这似乎不适用于自动检测到的Import-Package
参数。如果我指定instruction 'Import-Package', 'my.dependency.1'
等等,并在中间打印,我可以看到它们是如何按顺序添加的,并且它们都出现在生成的清单中,但是如果手动指定jar.manifest.instructions
,Gradle 的 OSGi 插件似乎不会添加自动检测的参数Import-Package
.
TL;博士:
- 如果我不手动指定
Import-Package
指令,它会自动生成我所有的编译时依赖项,而不是运行时依赖项。 - 如果我这样做
manifest { instruction 'Import-Package', 'org.springframework.orm' }
,则不会自动包含编译时依赖项。
如何告诉 Gradle 我的运行时依赖项以便将它们添加到Import-Package
?
declarative-services - 设置不兼容字符串的属性
我正在使用声明式服务并面临以下问题。我想用属性注册我的组件,比如使用
bc.registerService(MyClass.class.getName(), this, props);
但是,对于声明式服务,我必须提供定义这些属性的 XML 文件。现在,问题是我没有字符串兼容的值作为属性值(键是字符串)。属性不是任何类型的数字或字符串,而是“创建”方法返回的对象。这不是问题
bc.registerService(MyClass.class.getName(), this, props);
因为 props 可以包含条目。但是我如何使用声明式服务来管理这个?
BR Ewgenij
osgi - 为什么 bnd 为仅在方法主体中使用的包添加使用指令?
我有一个带有单个源文件的项目,此处完整列出:
功能与问题无关。当我使用 Gradle 将项目构建为 OSGi 包时,清单包含以下指令:
令我困惑的是那个uses
指令。正如我所理解的指令,它旨在定义对其他包的依赖关系,这些包需要传播到导入此导出包的其他包 -org.apache.commons.el
例如,如果我的类定义或方法签名引用包中的类。但是在这个类中,对的依赖org.apache.commons.el
完全包含在方法体中。它没有在 API 中公开,并且没有其他包导入com.acme.el
可以获取ExpressionEvaluatorImpl
在该方法中创建的实例。所以依赖项不应该被传播,对吧?
我是否误解了该uses
指令的含义,还是没有必要在这里使用它?
我制作了一个用于复制的最小示例 GitHub 存储库,您可以将其克隆并作为 Eclipse 中的 Gradle 项目导入。
scala - 为什么 sbt-osgi 将 Include-Resource 指令添加到我的 MANIFEST.MF?
我有一个sbt项目配置(通过build.sbt
)来生成一个 OSGI 包(使用sbt-osgi插件)。
出于某种原因,生成的MANIFEST.MF
包含一个Include-Resource
指令,指向我的构建目录中的(完全空的)“资源”子目录(特别是 ) src/main/resources
,target/scala_2.10/resource_managed/main
尽管事实上我没有做任何事情来告诉它这样做(而且我绝对不这样做)不希望我的工件指向我的主目录中的位置)。
为什么sbt-osgi这样做,更重要的是,我怎样才能让它停止?
我build.sbt
可以在这里找到:https ://github.com/reggert/reb4s/blob/1cd91fb82aa978b2f202c618ca6403a66c15f8d7/build.sbt
java - Java 字符串映射。最好的方法
您好,我有一个无法解决的问题。A 已经从 jar 清单中以 String 的形式导出了 pacakges,我想把它放在 Map 中,其中 key 是包的名称,其余信息在value中。你会说这很简单,但让我们告诉你我到底想做什么。我有一根弦,我从中取一小块
如果我在键中将它拆分为逗号(,),则会出现错误的和平,因为我们有
where 在uses子句中,我们也用逗号分隔依赖包的名称。所以上面的行必须在我的输出映射中:
那么使用哪些字符串方法或正则表达式来完成我的工作?
osgi - 如何在 OBR 存储库的“资源”元素中获取额外属性?
我们尝试让Apache Felix Web Console OBR 插件与当前BND Tools / Bindex生成的 OBR 存储库一起工作。
问题是生成的存储库(例如,使用来自 Eclipse 的“Release Bundles”生成的存储库)无法被 Felix Web 插件读取。
相反,插件可以正确理解Felix 自己的 OBR 存储库,因为它似乎在“resource”元素中具有其他属性,而我们的存储库中缺少这些属性:
http://www.osgi.org/download/rfc-0112_BundleRepository.pdf中的模式规范为“资源”XML 元素中的属性留出了空间,但是它们被定义为 Java API 的一部分。
这个 gitHub 叉子似乎可以完成这项工作https://github.com/rkrzewski/bindex但有人知道这是什么状态吗?有朝一日这会被整合到 Bindex 中吗?更新:这是 Rafał 的答案,这个分叉的所有者https://github.com/rkrzewski/bindex/issues/3#issuecomment-27784279 所以,我在 bndtools-users 谷歌组上重新提问:https://groups。 google.com/forum/#!topic/bndtools-users/ZdY0ASnLNmc
或者有没有其他方法可以使用缺少的资源属性生成 OBR 存储库?谢谢。