【问题标题】:Can we use relative URLs while installing bundles in Felix OSGi?在 Felix OSGi 中安装包时我们可以使用相对 URL 吗?
【发布时间】:2012-08-08 07:25:36
【问题描述】:

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

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

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

URL“file://Felix/RootDir/MyBundle.jar”现在唯一标识了包。

我们是否可以传递相对 URL?如下:

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

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

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

String locationID = myBundle.getLocation();

它会返回绝对 URL 还是相对 URL?

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

【问题讨论】:

    标签: url osgi relative-path apache-felix


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2013-09-20
      • 2018-09-11
      • 2015-10-05
      • 2022-08-22
      • 1970-01-01
      • 2019-09-08
      • 1970-01-01
      • 1970-01-01
      • 2013-07-25
      相关资源
      最近更新 更多