我正在尝试访问用于运行自动化测试套件的远程机器中的eclipse容器的osgi控制台。我们使用ant在测试代理中运行单元测试。以下是我们正在使用的蚂蚁。 我发现我需要添加此命令行参数以使远程代理程序监听指定的端口。" -Dosgi.console = 8005"。我跑了剧本,但它并没有停止说'#34;听8005"。我能够成功远程调试此代理,但我需要osgi控制台视图来调试代理中安装的软件包。 我把论点放在了正确的位置吗?是否必须以任何顺序? 任何帮助表示赞赏。我不明白为什么它从来没有奏效。
<java dir="${basedir}" classname="org.eclipse.equinox.launcher.Main" fork="true" classpathref="equinox.launcher.class.path">
<arg line="-application org.eclipse.pde.junit.runtime.uitestapplication -data ${tempWorkspace} -dev bin -testlistener org.eclipse.test.XMLTestListener -clean -port ${pde.test.port} -testpluginname ${testrunner.plugin.name} -classnames ${master.testsuite.name}"/>
<jvmarg value="-Xbootclasspath/a:${project.root}/lib/External/Clover/clover.jar"/>
<jvmarg value="-XX:MaxPermSize=256m" />
<jvmarg value="-Xms512m"/>
<jvmarg value="-Xmx1280m"/>
<jvmarg value="-Dorg.eclipse.equinox.http.jetty.http.port=2910"/>
<jvmarg value="-Dxcp.builder.testsuite.testplugins=xxxx.tests"/>
<jvmarg value="-Dosgi.console=8005"/>
<jvmarg value="-Xdebug"/>
<jvmarg value="-Xnoagent"/>
<jvmarg value="-Djava.compiler=NONE"/>
<jvmarg value="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8000"/>
答案 0 :(得分:1)
如果您使用Equinox 3.8或更高版本,则必须使用-Dosgi.console.enable.builtin = true系统属性。见http://hwellmann.blogspot.hu/2012/08/new-osgi-console-in-equinox-380.html
答案 1 :(得分:0)
要在Eclipse中启动新的OSGi控制台,您需要确保控制台捆绑包及其依赖项可用。其中包括:
由于您的代码不太可能依赖于这些代码,因此它们不会安装到您的测试运行时中,因此无法启动控制台。