Java 无法在eclipse上或转换为jar后启动OSGI框架

Java 无法在eclipse上或转换为jar后启动OSGI框架,java,jakarta-ee,osgi,osgi-bundle,dosgi,Java,Jakarta Ee,Osgi,Osgi Bundle,Dosgi,我正在开发一个OSGI equinox启动器,它应该启动OSGI框架和equinox控制台。我已经在一个名为plugin的文件夹中添加了五个JAR作为类路径/构建路径的一部分,但我仍然无法执行 下面是在linux控制台上成功执行并在linux控制台上打开osgi>提示符的命令 java Dosgi.bundles=org.eclipse.equinox.console_1.1.0.v20140131-1639.jar@start,org.apache.felix.gogo.command_0.1

我正在开发一个OSGI equinox启动器,它应该启动OSGI框架和equinox控制台。我已经在一个名为plugin的文件夹中添加了五个JAR作为类路径/构建路径的一部分,但我仍然无法执行

下面是在linux控制台上成功执行并在linux控制台上打开osgi>提示符的命令

java Dosgi.bundles=org.eclipse.equinox.console_1.1.0.v20140131-1639.jar@start,org.apache.felix.gogo.command_0.10.0.v201209301215。jar@start,org.apache.felix.gogo.runtime_0.10.0.v201209301036。jar@start,org.apache.felix.gogo.shell_0.10.0.v201212101605。jar@start-jar org.eclipse.osgi_3.10.0.v20140606-1445.jar-控制台

但是上面的代码在我的代码中失败了,如下所示

公共静态void main(字符串[]args){

字符串命令="java Dosgi.bundles=plugin/org.eclipse.equinox.console_1.1.0.v20140131-1639。jar@start,plugin/org.apache.felix.gogo.command_0.10.0.v201209301215。jar@start,plugin/org.apache.felix.gogo.runtime_0.10.0.v201209301036。jar@start,plugin/org.apache.felix.gogo.shell_0.10.0.v201212101605。jar@start-jar plugin/org.eclipse.osgi_3.10.1.v20140909-1633.jar-console”

错误如下所示 以下是命令的标准输出:

以下是命令的标准错误(如果有):

错误:无法访问jarfile plugin/org.eclipse.osgi_3.10.1.v20140909-1633.jar

这两个命令(在Linux控制台上成功执行的命令和在代码中失败的命令)略有不同。在第一个命令中,您使用

-jar org.eclipse.osgi_3.10.0.v20140606-1445.jar
而在第二

-jar plugin/org.eclipse.osgi_3.10.1.v20140909-1633.jar

因为您收到的错误消息说它无法访问
plugin/org.eclipse.osgi_3.10.1.v20140909-1633.jar
,所以我假设这个jar文件不存在,这就是您的命令失败的原因。

即使我更改了jar,也没有相同的问题!!!尽管控制台和eclipse中的命令都是相同的,但我假设,因为您现在已经更改了jar,错误消息也相应地更改了,对吗?您可以检查这两个命令(console和eclipse)是否正确吗是相同的吗?或者,您可以尝试为jar传递一个绝对路径,以确保Eclipse在正确的位置查找它。如果我给出绝对路径,当我在Eclipse上运行它时,当我将项目转换为jar并以java-jar X.jar的形式运行时,我会在没有osgi控制台的情况下得到下面的输出这里是c的标准输出Omand:@chetan我在你的评论中看不到任何输出。你的意思是你没有得到任何输出?在这种情况下,你收到错误消息了吗?
-jar plugin/org.eclipse.osgi_3.10.1.v20140909-1633.jar