问题标签 [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 安装 OSGi 依赖项
我有一个编译成 OSGi 包的 java 项目。我正在使用 maven-bundle-plugin 创建包,并使用 maven-sling-plugin 将包推送到我正在运行的 OSGi 服务器。目前,我的项目有两个依赖项(Guava 和 Gson)需要在安装 bundle 之前手动安装在 Felix 服务器中。这两个依赖包的手动安装只需要发生一次(当第一次设置 OSGi 服务器时),但由于它是一个手动过程,我有点想把它推到“mvn install”阶段。
我查看了许多 maven 插件(maven-sling-plugin、maven-ipojo-plugin、依赖插件等),但恐怕我没有足够的知识知道从哪里开始,甚至在 Stackoverflow 中搜索解决方案(我怀疑这已经得到了回答)。
那么 - 有没有一种干净的方法来安装/启动 Maven 依赖包?我可以指定一个 jar 和一个运行级别,并在安装我的包之前进行安装?
maven - 为什么(以及赞成什么)maven-bundle-plugin 的 wrap/bundleall 目标被弃用?
http://svn.apache.org/repos/asf/felix/releases/maven-bundle-plugin-2.3.7/doc/site/wrap-mojo.html说bundle:wrap
已弃用,与bundle:bundleall
. 我目前使用wrap
从非 OSGi 依赖项创建 OSGi 包,如http://www.lucamasini.net/Home/osgi-with-felix/creating-osgi-bundles-of-your-maven-dependencies中所述。应该用什么替换它们以及弃用的原因是什么?
java - 在 Maven 项目中使用 OSGi 包的 ClassCastException
我是 OSGi 的新手,并且正在努力将捆绑包包含到我的 Maven 项目中。
我使用mave-bundle-plugin 创建了一个API 包和一个实现包。在我的主要项目(一个 Maven 项目)中,我尝试使用 Felix 框架从 ServiceTracker 获取已实施捆绑包的服务。当我最终尝试将获得的服务转换为正确的类型时,我收到了 ClassCastException。
API Maven 项目:
API POM:
实现 Maven 项目:
实现 POM:
Maven 使用以下清单文件创建了两个 jar 文件:
在我的 Major Maven 项目中,我设置并启动了一个 Felix 框架。在子文件夹“bundles”中,我复制了上面 Maven 部署过程创建的 jar 文件。在安装例程中,我尝试安装这些包并启动它们:
对应的POM:
但是,当我尝试调用安装例程时,我收到了 ClassCastException:
我已经检查了类加载器
和
它们彼此不同。
我一直认为 OSGi 会为我处理类加载。
有谁知道我做错了什么?任何帮助表示赞赏!
在此先感谢,塞巴斯蒂安
bnd - 嵌入除类型包之外的依赖项
在 POM 父级中,我定义了构建捆绑包的所有通用规则。在嵌入依赖指令中,我想写:
“嵌入所有具有编译或运行时范围的依赖项,除了 my-api 工件和捆绑类型的依赖项。”
它适用于范围和artifactId约束,但type!=bundle似乎不起作用。
所有这些都是为了避免必须指定提供的范围来捆绑依赖项。
任何想法 ?
谢谢
maven - 使用 Maven 开发 OSGi 应用程序时,我应该先使用 POM 还是先使用 MANIFEST?
使用 Maven 开发 OSGi 应用程序时有两种主要方法:POM-first 和 MANIFEST first。
我正在寻找以表格形式显示每种方法的优缺点的答案。
更具体地说,我还想知道它与:
- 工具集的成熟度
- 供应商独立性
- 易于开发(包括寻找可以在工具上进行开发的人)
- 兼容性
- 避免 ClassNotFound
- 避免手工作业
maven - 使用 maven-bundle-plugin 的所有资源
作为能够快速过渡到 OSGi 的临时措施,我需要创建一个包含所有库的单个 jar。我所做的是将所有 jar 库放在 src/main/resources 中,以便它们最终位于创建的 jar 的根目录中。我遇到的问题是告诉 maven-bundle-plugin 导出 jar 中的所有包。所以基本上,我想将我所有的库暴露给其他 OSGi 包
这是我在 POM 中尝试的第一件事
我试图导出所有的东西。但似乎唯一像这样导出的是两个 osgi 依赖项,而不是资源中的 jars
我有一百多个库,所以我试图找到一种自动填充<Export-Package>
指令的方法,而不是手动添加每个库的包。不知何故,eclipse在插件开发环境中做到了,但我需要使用maven来做到这一点。捆绑插件可以做到这一点吗?如果罐子被添加到<Bundle-ClassPath>
java - OSGi:Apache Felix Maven 捆绑插件和 Javadoc
我正在使用 Apache Felix Maven Bundle Plugin 来生成 OSGi 元数据。
您可以配置导出哪些包,也可以使用默认值,不包括 *.impl.* 和 *.internal.* 等包。
有没有办法只为导出的包生成 Javadoc 而不必复制这些信息?
编辑:
我目前的方法是手动设置 excludePackageNames 属性(一个 Maven Javadoc 插件属性),从而复制此信息:
http://sourceforge.net/p/dromler/dromler-oss-parent/ci/default/tree/pom.xml#l64
dependencies - 如何让 maven-bundle-plugin 在 OSGi 清单中包含 maven 依赖项
希望有人可以帮助我解决这个问题。我正在尝试使用 maven-bundle-plugin 从我的 maven 依赖项中自动生成我的 OSGi 清单。我在 OSGi 容器中安装了一些依赖项,因为它们在多个包中共享。例如,春天。我正在设置这些依赖项的范围,如提供的那样(因为它们是在容器中提供的,而不是被嵌入的)。但是,我无法让 maven-bundle-plugin 将这些依赖项包含在清单的部分中。任何想法如何做到这一点?
maven - maven-bundle-plugin 如何在 Import-Package 中找到包
<dependencies>
标签中提到的捆绑包和标签之间有什么关系<Import-Package>
吗?我的意思是如果我们不定义依赖项,那么 maven-bundle-plugin 无法在<Import-Package>
标签中找到包?
maven - Maven 不在目标目录中创建 .class 文件
我正在通过在 Eclipse 中使用 maven bundle 插件创建 osgi bundle。在我的应用程序中,我有非 maven jar 文件,大多数 java 类在我的应用程序中都依赖于该文件。我的 pom.xml 文件如下。
通过使用它,我可以成功构建我的应用程序,并且我的最终 jar 包还包含所有需要的 jar 文件,但问题是,最终包中没有 .class 文件,我的目标目录也不包含任何 .class 文件。
如果我从 maven-compiler-plugin 中删除包含标记,那么我得到类不存在错误。
所以请告诉我上面的代码有什么问题,它没有在目标目录和最终包中创建 .class 文件。