问题标签 [pax]

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.

0 投票
2 回答
909 浏览

osgi - 带有普通 Maven JAR 的 OSGi 捆绑存储库

我正在努力寻求一种解决方案,将 Web 应用程序作为捆绑包部署到 Virgo 3.0.1.RELEASE。我的情况是:

所以,

  1. 关于如何配置 Virgo 以托管 Maven 存储库JAR 的任何想法?
  2. 一般来说,根据您的经验,使用现成的 Maven 存储库并将其作为 OBR 托管的最佳解决方案是什么?

提前致谢。

0 投票
1 回答
380 浏览

linux - 使用 PaX+Linux+Eclipse 进行调试,构建后执行脚本以移除 PaX 保护

我是 Linux PaX用户,因此要调试任何二进制文件,我需要使用 paxctl 命令禁用保护标志(每个二进制文件)。PaX 通过随机化为用户提供针对缓冲区溢出攻击等的保护,但它也禁止有意义的调试。我可以手动执行此操作,但是每次重建后我都必须重复它。我在考虑这4个选项:

  1. 使用 /proc/sys/kernel/pax/softmode 临时禁用 PaX
  2. 让 Eclipse 在构建后运行某种批处理文件(或修改默认生成文件)
  3. 从内核中删除一些 PaX 以保留地址空间(正如Gentoo 文档所建议的那样)
  4. 使 Eclipse CDT 调试器 (gdb) 使用硬件断点 (hbreak) 而不是普通断点 (break)

2)似乎是一种方法(不牺牲安全性或性能)。

有没有办法在(重新)构建后执行脚本/批处理文件?

还有另一个问题,即使我以某种方式设法运行禁用保护的脚本,我如何使其安全,使其不能被其他人使用?我正在考虑让 ide 在“eclipse”用户下运行,该用户将在适当的组中执行 paxctl 或类似的东西。

提前感谢您的任何提示。

0 投票
1 回答
762 浏览

java - 将 Jacoco 与 Pax-Exam 一起使用

我目前正在开发基于 OSGi 模型的应用程序。我的应用程序的所有测试过程都是使用 Pax-Exam 完成的,它使用 Karaf 创建了一个新的 JVM。

我尝试将 Jacoco 用于我的集成测试代码覆盖率,但它似乎不起作用。当我使用它(使用 maven 插件)时,创建的 jacoco.exec 文件是空的。

由于 Pax-Exam 正在创建一个新的 JVM 来通过 Karaf 进行测试,因此我使用 javaagent 设置了一个 Pax-Exam 选项,以便为将执行测试的新 JVM 使用完全相同的 arg 行。不幸的是,它不起作用。

我已经尝试在没有所有 Pax-Exam/Karaf/OSGi 部分的情况下使用 Jacoco,它运行良好,但我不知道如何使它与我的 OSGi 包一起使用。

我希望有人可以帮忙!

0 投票
2 回答
1641 浏览

java - BundleContext 在使用 pax-exam 的单元测试中为空

我正在使用 pax-exam 来加载、激活和访问 osgi 包。

以下源代码是我的 pax-exam 测试,它使用本机容器使用 pax-exam 2.3 运行。

但我有以下问题:

  • checkBundleContext 方法都失败了,捆绑上下文注入(使用@Inject)或作为测试方法的参数传递始终为 null

  • 即使包在包的 Export-package 中,从包中的类getRodinDb()访问静态方法也会抛出about 。RodinCoreorg.rodinp.core_1.5.0.r14093.jarClassNotFoundExceptionorg.rodinp.core.RodinCoreorg.rodinp.core

0 投票
2 回答
3725 浏览

java - 使用 pax-maven-plugin 构建时将我自己的包源添加到 pax-exam

我正在尝试使用pax-maven-build构建我的 OSGI 包,同时使用pax-exam对其进行测试。它提供了一些捆绑包,我可以使用以下 pax-exam 测试配置进行测试:

在这里,我可以看到我可以从我提供的 jar 中访问 IRodinDB 实例。

现在我编写了自己的包,它将使用所有预置的 jar。但我什至无法测试自己的代码,例如:

在编译时给出错误:

[错误] 无法执行目标 org.ops4j:maven-pax-plugin:1.5:testCompile (default-testCompile) : 编译失败

[错误] 找不到符号

[错误] 符号:VTGService 类

似乎测试编译看不到“src/main/java”,这与 maven-compiler-plugin 的默认行为相反。但在我的情况下,您可以看到 maven 不使用编译器插件,而是使用 maven-pax-plugin。

问题是:如何使用 pax-exam 测试我自己的捆绑包?

更新1

这似乎是最新版本的 maven-pax-plugin 的问题,因为ops4j pax maven 插件中可用的基本示例(在POM 中使用 Pax 插件部分)似乎遇到了同样的问题。

更新2

根据 Dmytro 的要求,这是我的包的 pom.xml:


我不确定它是不是最优雅的解决方案,但是当我可以像在我的问题的源代码中那样导入我自己的包时,我创建了一个新的 maven 项目。

有没有一种优雅的方法可以将我自己的 java 源代码直接添加为新包以在同一个 Maven 项目中进行测试?这可能是不可能的(因为捆绑组装操作是在编译和测试之后完成的)......

0 投票
1 回答
4045 浏览

osgi - 在 Apache Felix 中部署战争文件?

我正在尝试将应用程序部署到 Apache Felix。这是一个 gwt 应用程序,但我一直在简化问题,直到只是一个 hello world html 文件,所以我的问题是在 war 文件中部署任何类型的 Web 应用程序。我还尝试在 Apache Karaf 中部署生成的战争,并且它们可以正常工作(一旦您安装了功能 war)。

所以,现在我有这个:

pom.xml 非常简单,有趣的部分与 felix 插件有关,但对于这场没有任何编译代码的战争来说,这并不重要......

pax 插件也在那里,因为我尝试使用它运行应用程序,但我得到了相同的结果。web.xml 是一个空的:

一旦你执行mvn package来生成 war 文件,如果我在 Apache Felix 中部署它,我不会收到任何错误,捆绑状态是活动的,但我在尝试访问 /sample 路径时只会收到 404 错误。我尝试将 sample 和 /sample 作为上下文路径值。运行mvn pax:run 也会发生相同的行为。如果我在 Apache karaf 中部署战争,它会起作用,所以我会假设我对 felix 做错了什么。

我目前的捆绑清单是:

0 投票
3 回答
1913 浏览

testing - Arquillian 与用于 OSGi(集成)测试的 Pax 考试相比如何?

我目前正在研究如何最好地测试我们打算在 Apache Karaf 上运行的 OSGi 应用程序。显而易见的选择是使用labs-paxexam-karaf进行的 Pax 考试(有关教程,请参见http://iocanel.blogspot.com/2012/01/advanced-integration-testing-with-pax.html)。但是,我担心性能(因为 Pax Exam 显然为每种测试方法启动了一个新框架)。我还发现Arquillian 有一些 OSGi 支持,尽管这不是它的主要关注点。JUnit4osgi 不是一个选项,因为它只支持 JUnit 3。

对于不熟悉这两种框架的人来说,从哪个开始更好?有哪些权衡?

0 投票
1 回答
332 浏览

pax - Pax Web Whiteboard ResourceMapping 的路径可以指向捆绑包之外吗?

我尝试将以下内容注册ResourceMapping为 OSGi 服务:

但在浏览器下看不到结果http://127.0.0.1:8282/resources/aFileUnderMyPath。我可以看到 Pax Web 正在日志中访问我的映射。这是可能的还是我需要编写一个servlet?

0 投票
1 回答
342 浏览

nlp - 我想使用 GATE 谓词-参数提取器组件 (PAX)

我想使用 GATE 谓词-参数提取器组件(PAX),但我不知道如何在 GATE 开发人员(版本 7)上加载插件

请帮我。我如何加载它?

0 投票
1 回答
1136 浏览

java - 运行 Pax Exam 时出现 IllegalStateException

运行 Pax Exam 时出现以下异常。我的配置仅包括来自文件系统和 junit 和 felix 的单个捆绑包。知道为什么会这样吗?

编辑:我正在使用 Pax Exam 2.5.0,以下是我的配置方法。