我试图在Windows 7上启动一个OSGi控制台。
我在终端窗口上使用了这个语句:
java -jar org.eclipse.osgi.jar -console
但是它不起作用,什么也不会发生,也没有出现提示osgi>
。键盘输入无效,除了^C
,这会使通常的终端提示重新出现。
有人有任何建议吗?
从Equinox 3.8.0.M4版本开始,它有了一个新的控制台。因此,您还需要这四个捆绑包才能使其正常运行。
org.eclipse.equinox.console.jar
org.apache.felix.gogo.shell.jar
org.apache.felix.gogo.command.jar
org.apache.felix.gogo.runtime.jar
这些JAR文件可以在Eclipse安装文件夹中的“plugins”文件夹下找到。将这些JAR复制并放入与您的org.eclipse.osgi.jar
相同的文件夹中,它应该看起来像这样:
然后按以下方式编辑config.ini
:
osgi.bundles=org.apache.felix.gogo.runtime@start, org.apache.felix.gogo.command@start, org.apache.felix.gogo.shell@start, org.eclipse.equinox.console@start
完成以上步骤后,在命令行中运行java -jar org.eclipse.osgi.jar -console
,即可启动OSGi控制台。
更新:06/2022:
与此同时,所需的捆绑包清单变得更长了:
osgi.bundles= \
org.apache.felix.gogo.runtime_1.1.4.v20210111-1007.jar@start, \
org.apache.felix.gogo.command_1.1.2.v20210111-1007.jar@start, \
org.apache.felix.gogo.shell_1.1.4.v20210111-1007.jar@start, \
org.eclipse.equinox.console_1.4.500.v20211021-1418.jar@start, \
org.eclipse.osgi.services_3.10.200.v20210723-0643.jar@start, \
org.osgi.util.function_1.2.0.202109301733.jar@start, \
org.osgi.util.promise_1.2.0.202109301733.jar@start, \
请注意,您可以直接在插件文件夹中引用org.eclipse.osgi
。如果这样做,您的配置文件夹位于插件文件夹中!
java -jar plugins\org.eclipse.osgi_3.18.0.v20220516-2155.jar -console
从3.8版本开始,Equinox内置控制台被弃用并禁用。如果您使用的是更新的版本,则应该使用osgi.console.enable.builtin=true属性。请参见http://hwellmann.blogspot.hu/2012/08/new-osgi-console-in-equinox-380.html。
您可以将这些属性设置为系统属性。您的命令将是:
java -Dosgi.noshutdown=true -Dosgi.console.enable.builtin=true -jar org.eclipse.osgi.jar -console
这个方法在我使用3.8版本时有效。但我刚刚尝试了3.10版本,它不起作用。我猜内置的控制台已经完全被移除了。
你应该使用已成为事实标准的gogo控制台。你可以在上面的链接中找到相关信息。
您还可以更改Eclipse插件所在的目录,并发出类似以下命令:
java -Dosgi.bundles=.\org.apache.felix.gogo.shell_1.1.0.v20180713-1646.jar@start,.\org.apache.felix.gogo.command_1.0.2.v20170914-1324.jar@start,.\org.apache.felix.gogo.runtime_1.1.0.v20180713-1646.jar@start,.\org.eclipse.equinox.console_1.3.100.v20180827-1235.jar@start -jar org.eclipse.osgi_3.13.100.v20180827-1536.jar -console
这将启动OSGi控制台