Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 设置OSGi存储目录(org.OSGi.framework.storage)在Maven触发的JUnit测试中不起作用_Java_Maven_Junit_Osgi_Equinox - Fatal编程技术网

Java 设置OSGi存储目录(org.OSGi.framework.storage)在Maven触发的JUnit测试中不起作用

Java 设置OSGi存储目录(org.OSGi.framework.storage)在Maven触发的JUnit测试中不起作用,java,maven,junit,osgi,equinox,Java,Maven,Junit,Osgi,Equinox,在我的代码中,我使用EquinoxFactory启动了多个OSGi框架。通过将属性“org.osgi.framework.storage”设置为“@user.home/osgi frameworks/framework-x”,其中每个框架的x不同,每个框架使用不同的目录: frameworkProperties.put("osgi.clean", "true"); frameworkProperties.put("osgi.console", "true"); frameworkProperti

在我的代码中,我使用
EquinoxFactory
启动了多个OSGi框架。通过将属性
“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框架/framework-0”

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

因为我想在Jenkins中包含应用程序,所以我不想跳过测试


有人知道会出什么问题吗?我必须为框架设置其他参数吗?IDE中的Junit和Maven中的Junit有很大的区别吗?

您在哪里添加了日志记录?你确定你正在记录框架实际使用的属性值吗?只是好奇,我想用osgi和rcp应用程序启动headless构建。您是如何进行这个构建过程的,您是否正在使用maven与OSIG的集成?