gpt4 book ai didi

java - 如何在eclipse中将另一个java项目打包为osgi依赖项

转载 作者:行者123 更新时间:2023-12-01 04:39:11 25 4
gpt4 key购买 nike

我有一个java项目,其中只包含java代码。它依赖于一个java插件。我想采用非插件项目,并将其转换为 osgi 包,并将两者放入功能中。我这样做了,但是它永远找不到该类。每次都只是通过 NoClassDefError,但一切似乎都很好。为了确定起见,我使用非常简单的配置创建了第二个项目:

list .MF:

 Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Test
Bundle-SymbolicName: test
Bundle-Version: 1.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Export-Package: com.etc,

该 jar 已正确构建并与真正的插件一起部署,但是当该插件调用依赖于“测试”的内容时,它永远不会加载类,它只是失败并显示 org.eclipse.core.runtime.CoreException: Plug-in "something.something.tools" was unable to instantiate class "com.something.something.SomeTool".

生成的 jar 非常好,它在 com.something.something 下包含所有类文件。并且 MANIFEST.MF 文件也在那里。

最佳答案

如果您只是将非插件项目转换为插件项目,可能会容易得多。在 Package Explorer 中右键单击该项目,然后选择“配置 > 转换为插件项目...”,然后使用正常的 Eclipse 结构从两个插件组合一个功能。否则,您需要手动进行大量配置,并且 Eclipse 文档不会有太大帮助,因为他们希望每个人都使用这些对话框。

如果您还在非插件上下文中使用此项目,则转换为插件不应导致任何问题 - jar 中只会有一些额外的内容,在非插件使用场景中会被忽略。

关于java - 如何在eclipse中将另一个java项目打包为osgi依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16872068/

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