sam*_*wis 3 java osgi apache-karaf pax-exam
我正在尝试集成测试Karaf功能与Pax考试,但我无法解决如何在我的config()方法中安装功能.
Pax考试版本为2.6.0,Apache Karaf 2.3.2版本.
这是我的配置方法:
@Configuration
public Option[] config() {
return new Option[]{karafDistributionConfiguration().frameworkUrl(
maven().groupId("org.apache.karaf").artifactId("apache-karaf").type("zip").versionAsInProject())
.karafVersion("2.3.2").name("Apache Karaf").unpackDirectory(new File("target")),
keepRuntimeFolder()};
}
Run Code Online (Sandbox Code Playgroud)
个别捆绑包可以安装,mavenBundle("group", "artifact", "version")但似乎没有机制来安装Pax考试的Karaf功能.
我能够在使用Junit注释的设置方法中以实用方式安装功能,@Before但是使用@Inject注入我的服务为时已晚.
是否可以在config()Pax考试测试的方法中安装Apache Karaf功能?
首先,我强烈建议使用最新版本的Pax-Exam(3.3.0),它确实提供开箱即用的Karaf支持.其次,您可以直接在config()方法中安装功能.例如:
features(maven().groupId("org.apache.karaf.assemblies.features")
.artifactId("standard").type("xml").classifier("features")
.versionAsInProject(), "http-whiteboard")
Run Code Online (Sandbox Code Playgroud)
你会在我的github找到一份工作样本