gpt4 book ai didi

java - Equinox如何提供非锁定的jar文件

转载 作者:行者123 更新时间:2023-11-30 07:11:51 25 4
gpt4 key购买 nike

我最近发现 Eclipse 加载的插件 jar 不检索文件锁。这是一种令人惊讶的原因,当我运行一个自制的应用程序时,特定的 jar 被锁定并且无法删除。我很好奇这是如何实现的。我的第一个想法是 Equinox 将 jars 复制到一个单独的目录中,但我猜这需要一些时间。而且我找不到这样的目录

希望有人有想法...

最佳答案

所有 OSGi 框架,包括 Equinox,都有一个所谓的“存储”文件夹,其中包含框架和包的持久状态。默认情况下,框架确实会将任何已安装的包复制到该文件夹​​中。在 Equinox 中,存储文件夹的默认位置是 configuration/org.eclipse.osgi,但是这可以被配置覆盖。

还有一个特殊功能,即无需复制即可安装 bundle 。这是通过在位置 URL 前加上 reference: 来完成的。例如,如果你想安装文件 /home/neil/mybundle.jar 那么你可以调用:

context.installBundle("reference:file:/home/neil/mybundle.jar");

请注意,引用 URL 方案不是 OSGi 规范的一部分,尽管它至少得到 Equinox 和 Felix(可能还有其他框架实现)的支持。

关于java - Equinox如何提供非锁定的jar文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20775727/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com