Eclipse调试配置不会加载同一插件的两个版本

时间:2016-08-10 07:23:40

标签: eclipse eclipse-plugin eclipse-rcp

我的Eclipse RCP应用程序目前使用同一插件的两个版本(javax.servlet 2.5.0javax.servlet 3.1.0)。 当我从我的Eclipse(Mars 4.5.2)工作区调试应用程序时,我发现javax.servlet的最低版本没有加载也没有显示为可用,如您在以下控制台代码段中所示(请注意{ {1}} javax.servlet甚至没有出现。2.5.0是一个不同的插件。)

javax.servlet.jsp

我已经查看了我的调试配置,并选择在调试会话期间使用这两个版本(osgi> ss javax.servlet Framework is launched. id State Bundle 41 INSTALLED javax.servlet.jsp_2.0.0.v200806031607 8947 ACTIVE javax.servlet_3.1.0.201605180802 2.5.0)。 Debug configuration

但是,当我安装我的应用程序并在不使用Eclipse环境的情况下执行它时,OSGI框架能够毫无问题地加载这两个包,如question中所述。

我缺少什么?如何通过加载两个插件来从Eclipse调试我的应用程序?

1 个答案:

答案 0 :(得分:0)

OSGi延迟加载。让那些处于Debug配置中的是INSTALLED,然后OSGi将仅在必要时激活它们。

在Debug配置的情况下,仅使用旧版本是有效的,而在目标环境中,sometginh也需要激活3.1.0。

您的调试配置和目标环境在那里不相同。

要知道需要什么,可以使用-console标志启动目标环境,并使用常用命令来诊断依赖项。例如,在3.1.0上尝试卸载命令应该在完成之前解释一下取决于它的内容。