gpt4 book ai didi

java - 从 OSGi 包中启动类的主方法

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

我有一个 jar 文件 A.jar,其中在各种库函数中包含一个具有 main 方法的类 MainClass。该 jar 文件通过将其包装到 OSGi 包 B.jar 中来部署,以便库函数可供 OSGi 容器内的其他插件使用,如 B.jar 的 MANIFEST.MF 中指定的那样。

我还希望能够在 OSGi 之外的单独进程中启动 A.jar 中包含的 MainClass.main 方法,但我在文件系统上可用的只有 B.jar。因此,例如,

java -cp B.jar MainClass

失败并显示

Error: Could not find or load main class MainClass

java -cp A.jar MainClass

在 A.jar 包含在 B.jar 中之前,在我的桌面上运行得很好。

有没有办法直接从B.jar运行MainClass.main

最佳答案

尚不清楚,但我假设 B.jar 包含 A.jar 作为条目。所以A.jar只是B.jar中的一个资源。为了从 B.jar 运行 A.jar 中的 MainClass,您需要为 B.jar 编写一个新的 main,它将为 A.jar 资源创建一个 ClassLoader,然后加载 MainClass 类并调用其 main 方法。

关于java - 从 OSGi 包中启动类的主方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19161417/

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