我真的需要通过使用断点来调试我的代码,但这似乎是一个OSGi容器的复杂任务。
我有Eclipse和Felix(两者都是最新的)。我的项目是一个原始的OSGi项目,我没有使用PDE,只是maven bundle插件生成bundle然后将它们复制到felix中的/ bundle文件夹,然后我执行java -jar bin / felix.jar并运行项目。所以不要大惊小怪。
但是我无法以这种方式调试应用程序。我试过阅读文档(http://felix.apache.org/documentation/development/integrating-felix-with-eclipse.html),但它们已经过时/破碎,无法让它们发挥作用......
我该如何调试?我是否必须避免使用OSGi,因为不支持调试......?
谢谢!
答案 0 :(得分:3)
您是否考虑过使用像bndtools这样的IDE工具来进行调试?您可以从bundle文件夹创建存储库,并使用bndrun文件运行它们。这为您提供了Eclipse中的调试环境,听起来就像您想要的那样。 The bndtools website is here.
Bndtools也做了很多,但听起来好像你对现有的Maven构建感到满意。本教程将通过设置基本工作区来运行,但您感兴趣的主要内容是Running a framework
答案 1 :(得分:2)
使用以下参数启动felix以启用远程调试。
java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044 -jar bin/felix.jar
您可以通过Eclipse远程调试连接到Felix容器。