我正在尝试访问远程机器中eclipse容器的osgi控制台,该控制台用于运行自动化测试套件。我们使用ant在测试代理中运行单元测试。下面是我们正在使用的ant taks。我发现我需要添加此命令行参数来使远程代理侦听指定的端口。“-Dosgi.console=8005”。我运行了脚本,但它并没有停止说“监听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"/>发布于 2014-02-08 23:55:33
如果使用Equinox3.8或更高版本,则还必须使用-Dosgi.console.enable.builtin=true系统属性。请参阅http://hwellmann.blogspot.hu/2012/08/new-osgi-console-in-equinox-380.html
发布于 2014-02-09 19:08:12
要在Eclipse中启动新的OSGi控制台,您需要确保控制台包及其依赖项可用。其中包括:
因为您的代码不太可能依赖于它们,所以它们不会安装到您的测试运行时中,因此不能用于启动控制台。
https://stackoverflow.com/questions/21640068
复制相似问题