问题标签 [maven-bundle-plugin]
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.
java - 如何使用 Maven Bundle Plugin 防止某些属性被添加到 bundle 的清单中?
我想从我的发布 jar 中删除某些标题(例如“内置”)。
我已经读过将标题设置为空内容应该可以解决问题,但这对我不起作用。例如,我正在使用:
在Something-else
添加时,所有其他标题(例如Built-By
)仍然存在。有什么见解吗?谢谢!
maven-bundle-plugin - 包含资源指令的 Felix maven 捆绑插件问题
问题:我在 target/temp 下生成一些文件,我希望将这些文件包含在打包阶段捆绑的最终捆绑 wab 中。这是我正在使用的代码片段:
我希望在 target/temp 下生成的目录包含在目标目录结构下。但是,上面的语法不包括 temp 下的文件。但是 maven-resources 被包含在 wab 的根目录中。
该文档来自此页面: http: //felix.apache.org/site/apache-felix-maven-bundle-plugin-bnd.html在<Include-Resource>
说明下。它说“如果必须将特定资源放置在 bundle jar 的子目录中,则使用分配形式,其中第一个路径是目标路径(如果资源是文件,则包括文件名),第二个路径是要复制的资源。”
我已经检查并在使用 maven-bundle-plugin 的包阶段之前在 target/temp 下生成了所需的目录。有什么我想念的吗?
我真的很感激这个问题的任何帮助。
java - 使用 Maven 构建 OSGi 应用程序
我想构建一个兼容 OSGi 的多模块应用程序,编译后我在 3 个文件夹中拥有所有必需的包。我正在使用maven-bundle-plugin和maven-scr-plugin创建捆绑包。
我想要的是用一个命令在 osgi 容器(Equinox)中运行这个应用程序,希望使用脚本。为此,我相信我必须创建一个config.ini文件,列出应用程序中的所有捆绑包。
有没有办法在 Maven 编译时生成它?或者有没有更好的方法来获取某个文件夹结构中的所有包,以便应用程序可以立即运行?
maven - 在maven中添加嵌入式依赖
实际上,当我构建我的项目时,它会将捆绑包部署到正在运行的 OSGI 控制台。现在捆绑包处于已安装状态,并显示无法找到 commons-net 捆绑包的红色警报。
解决此问题的一种方法是将捆绑包显式安装到正在运行的 osgi 框架本身。
另一种方法可能是将嵌入依赖项添加到 maven。但这种方法行不通。我在 maven-build-plugin 的指令标签中添加了 Embeded-Dependency。它没有显示任何错误。
如果有任何建议,请告诉我。
java - 如何使用 maven bundle 插件在 OSGi 包中包含一个依赖项?
我有一个符合 OSGi 的包(jar),我想在其中添加一个依赖项的 jar。我要添加的依赖是数据库驱动程序。该 jar 不存在于我正在使用的 Karaf 容器的 lib 文件夹中,并且无法手动添加它。我只能访问部署文件夹,我可以在其中部署我的捆绑包。我正在使用 Maven 捆绑插件来打包我的捆绑包。所以,我想知道是否有办法在我的包中添加依赖 jar。目前,我通过在 7zip 中打开包并通过将其复制到 jar 中来添加 jar 来手动将 jar 添加到包中,它工作正常。我尝试使用该<embed-dependency>
标签,但这样做之后捆绑包没有被部署。有什么办法吗?
以下是pom.xml
我要在包中添加的依赖项:
以下是 中的构建标记pom.xml
:
当我尝试部署它时出现以下错误:
java - 防止 Maven 包在 Eclipse 4.2 中运行不保存
在我的 Eclipse 工作区中,在 java 编辑器中保存文件会使 m2e 在项目上运行 defaultGoal(安装),这涉及重写 MANIFEST.MF 文件。因为我正在使用另一个没有 m2e 连接器的插件(maven-scr-plugin),这使得我的清单文件无用。
我想做的是防止 maven-bundle-plugin 在保存时执行,到目前为止我已经提出了两种可能的解决方案:
您可以编辑 Eclipse 生命周期映射,但由于某种原因,这不会起到作用(我认为应该这样做):
或者,将defaultGoal
我的 pom.xml 中的更改为类似的<build>
东西compile
也意味着不会到达捆绑插件启动的地步,但由于 eclipse 的特性,我真的很讨厌更改我的 pom。
有没有办法为 m2e 插件定义一个 defaultGoal?你们有没有其他的方法来解决这个问题?谢谢!
eclipse - Eclipse Juno 没有“看到”使用 apache felix maven-bundle-plugin 创建的包
这是我的问题:我目前正在 Eclipse Juno 中开发简单的 RAP 应用程序。我需要使用一些外部库,所以我使用 felix maven-bundle-plugin 创建了一个捆绑包,其中存储了一些库。之后,我将此包复制到 Eclipse dropins目录中。不幸的是,我无法在 MANIFEST.MF(依赖项 -> 必需插件 -> 添加)中将我的包添加到我的项目中,因为 Eclipse 看不到它。
我已经在 OSGI 控制台中检查了我的包,一切似乎都很好。状态已解决。我可以手动启动它而不会出现任何错误。diag命令也没有显示任何内容。
当我尝试在 Eclipse Indigo 中添加我的包时,一切正常——我可以在我的项目中使用它。
您知道可能出了什么问题吗?我正在为 maven-bundle-plugin 链接我的 pom.xml:
osgi - 如何处理来自 Bundle-Classpath 上的 jar 的 Import-Package 条目?
我在我的 Bundle-Classpath 上放了几个罐子。下面的行显示了我的 pom.xml 中的条目,它使用 Felix 插件为包创建 manigest.mf。
这些 jar 具有导入包的类,但据我所知,它们都有一个 MANIFEST.MF,它有自己的(准确的)Import-Package 语句列表。
但是,当我构建我的项目(使用 Maven 和捆绑插件)时,它会报告错误,因为它无法解析对某些类的引用。具体错误是:
所有这些错误都来自 com.springsource.org.h2-1.0.71.jar 并且所有这些包都导入到该 jar 的清单中。
我无法理解:
- 为什么 Maven 捆绑插件会抱怨,如果这些包已经在 com.springsource.org.h2-1.0.71.jar 的 MANIFEST>MF 中导入
- 为什么问题仅来自 com.springsource.org.h2-1.0.71.jar ?我尝试删除那个特定的 jar 并且构建顺利进行,即使 com.springsource.org.apache.lucene.search-2.3.2.jar 在它的 MANIFEST.MF 中也有几个 Import-Package 条目?
关于第二点,我做了一些调查,感觉是有规律的。com.springsource.org.apache.lucene.search-2.3.2.jar 在其清单中指定的所有导入都由 com.springsource.org.apache.lucene-2.3.2.jar 满足,这也是指定的在 Bundle-Classpath 上。
com.springsource.org.apache.lucene-2.3.2.jar (在 Bundle-Classpath 上)满足的 com.springsource.org.h2-1.0.71.jar 的依赖项未在但是,错误消息中列出了 Bundle-Classpath 上的 jar 不满足的那些依赖项。
不太确定发生了什么。关于 Bundle-Classpath 上指定的 jar 文件的规则是什么?他们的导入(即使它们在 Import-Package 中指定)是否必须在主项目的 pom 中列出?或者这是 Maven 捆绑插件强制执行的东西?如果是后者,有没有办法摆脱强制执行?
maven-2 - 从 Maven2 到 OSGI 包
我想在 OSGI 包中转换一个 Maven2 项目。我正在尝试使用应该根据 maven 依赖项创建清单的maven-bundle-plugin 。问题是我无法让它工作。当我安装并运行生成的包时,总是会出现如下错误:
每次我在 maven-bundle-plugin 中手动添加缺少的约束。但总是有另一个缺失的约束。现在我被困在无法以任何方式添加的 com.sun.javadoc 上。无论如何...我不能手动添加所有的包!请问你有更好的主意吗?谢谢
===更新===
没有在导出标签中添加任何内容,运行 bundle 给我的第一个错误是: