org.ops4j.pax.exam.CoreOptions.mavenBundle を使用して Maven リポジトリからバンドルを展開すると、展開に 1 分もかからないことがわかりましたが、org.ops4j.pax.exam.CoreOptions を使用して同じバンドルを展開すると.bundle をローカル ファイル システム上のバンドルに file: url を指定すると、展開に 8 分以上かかります。ローカル ファイルにアクセスしているため、CoreOptions.bundle の方が高速であると予想していました。CoreOptions.bundle を使用する場合、展開を高速化するためにできることはありますか?
私が使用しているバージョンは次のとおりです。
<dependency>
<groupId>org.ops4j.pax.exam</groupId>
<artifactId>pax-exam-container-karaf</artifactId>
<version>4.4.0</version>
</dependency>
<dependency>
<groupId>org.ops4j.pax.exam</groupId>
<artifactId>pax-exam-junit4</artifactId>
<version>4.4.0</version>
</dependency>
<dependency>
<groupId>org.ops4j.pax.exam</groupId>
<artifactId>pax-exam</artifactId>
<version>4.4.0</version>
</dependency>
<dependency>
<groupId>org.ops4j.pax.url</groupId>
<artifactId>pax-url-aether</artifactId>
<version>2.4.0</version>
</dependency>
ファイル システムからバンドルを展開するために使用しているコードは次のとおりです。
// Inject our local bundle dependencies
URI deployBundlesDirUri = new File(deployBundlesDir).toURI();
for (String bundle : localBundles) {
String name = deployBundlesDirUri.resolve(bundle).toString();
options.add(bundle(name).start());
}
Maven リポジトリから同じバンドルをデプロイするときに使用しているコードは次のとおりです。
// Inject our maven dependencies
for (String[] dep : mavenDependencies) {
options.add(mavenBundle()
.groupId(dep[0])
.artifactId(dep[1])
.versionAsInProject().update(true).start()
);
}