在我的代码中,我使用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 有什么区别吗?