我们可以在Felix OSGi中安装捆绑包时使用相对URL吗?

时间:2012-08-08 07:25:36

标签: url osgi relative-path apache-felix

对不起,如果这是一个愚蠢的问题。

在OSGi中,我们可以在安装捆绑包时传递文件URL:

Bundle myBundle = felix.getBundleContext().installBundle ( "file:/Felix/RootDir/MyBundle.jar" );

网址“file://Felix/RootDir/MyBundle.jar”现在唯一地标识了该包。

我们是否可以传递相关网址?如下:

Bundle myBundle = felix.getBundleContext().installBundle ( "file:MyBundle.jar" );

如果是,那么这个相对URL的父目录是什么? (它是felix.cache.rootdir吗?)。

如果允许相对URL,那么Felix会在内部将相对URL转换为绝对URL吗?也就是说,如果我这样做:

String locationID = myBundle.getLocation();

会返回绝对或相对URL吗?

(是的,我知道每个捆绑包也有一个长整数ID)

1 个答案:

答案 0 :(得分:1)

Felix的“当前目录”可能是您启动它时生效的目录。此外,框架不得更改您为安装捆绑包提供的位置字符串。所以它不会将提供的位置字符串转换为其他值。