0

在我的代码中,我使用EquinoxFactory. 通过将属性设置"org.osgi.framework.storage""@user.home/osgi-frameworks/framework-x",其中x每个框架都不同,每个框架使用不同的目录:

frameworkProperties.put("osgi.clean", "true");
frameworkProperties.put("osgi.console", "true");
frameworkProperties.put("org.osgi.framework.storage", 
                        "@user.home/osgi-frameworks/osgi-framework-" 
                        + numberOfFramework);       

framework = new EquinoxFactory().newFramework(frameworkProperties)

这在运行实际应用程序时非常有效。此外,IDE 中的 JUnit 测试运行没有任何问题。

但是,当我为我的项目启动 Maven 构建时,JUnit 测试失败,因为所有框架都使用相同的目录 ( "osgi-frameworks/framework-0")。

我向应用程序添加了日志记录,以检查该属性"org.osgi.framework.storage"在 OSGi 属性映射中是否确实具有不同的值。日志中的一切看起来都很好,但是在检查文件空间时,只创建了一个目录。

由于我想将应用程序包含在 Jenkins 中,因此我宁愿不跳过测试。

有谁知道可能出了什么问题?我必须为框架设置其他参数吗?IDE 中的 Junit 和 Maven 中的 Junit 有什么区别吗?

4

0 回答 0