java - Apache Felix Web 控制台 404

标签 java eclipse osgi apache-felix bndtools

我正在 Windows 7 下使用 JavaSE 1.6 在 eclipse Kepler 中运行 BND 工具,并且我正在尝试使用 Web 控制台启动 Apache Felix 框架 4.4.0。我很困惑,因为同样的方法似乎在 Ubuntu 14.04 下也有效。我没看到什么?

除了正常的 bundle 之外,我还运行 Jetty Web 服务器和 felix webconsole bundle 。现在,当我尝试访问 http://localhost:8080/system/console 时,我从 jetty 收到 404 错误。现在这确实告诉我 jetty 工作正常,但 webconsole 不知何故无法正常工作。

我尝试过重新添加 bundle 、重新启动 Eclipse、重新启动我的电脑,但都没有效果。一个最小的示例确实可以在另一台运行 Ubuntu 的机器上运行,我过去也可以运行它。

现在我确实发现有一个属性“manager.root”,我可以通过它自己设置webconsole的位置,但我没有更改它(即使我更改了,它似乎也没有效果)。是否有从控制台获取位置的命令?

我只运行以下 4 个 bundle :

  • org.apache.felix.gogo.shell
  • org.apache.felix.gogo.command
  • org.apache.felix.http.jetty
  • org.apache.felix.webconsole

Activity bundle :

ID|State      |Level|Name
 0|Active     |    0|System Bundle (4.4.0)
 1|Active     |    1|Java Servlet API (3.0.1)
 2|Active     |    1|Apache Felix Gogo Command (0.12.0)
 3|Active     |    1|Apache Felix Gogo Runtime (0.10.0)
 4|Active     |    1|Apache Felix Gogo Shell (0.10.0)
 5|Active     |    1|Apache Felix Http Jetty (2.2.2)
 6|Active     |    1|Apache Felix Web Management Console (All In One) (4.2.2.all)
 7|Active     |    1|osgi.enterprise (4.2.0.201003190513)
 8|Active     |    1|osgi.residential (4.3.0.201111022239)

最佳答案

谢谢尼尔,你是对的。在 Ubuntu 上的示例中,我发现我确实使用的是另一个版本的 Java Servlet API (2.5)。在确保我也在 Windows 机器上使用 2.5 版本后,一切似乎都工作正常。

webconsole包的要求如下:

g! inspect req osgi.wiring.package 6
org.apache.felix.webconsole [6] requires:
-----------------------------------------
osgi.wiring.package; (&(osgi.wiring.package=javax.servlet)(version>=2.4.0)) resolved by:
   osgi.wiring.package; javax.servlet 3.0.0 from javax.servlet-api [1]
osgi.wiring.package; (&(osgi.wiring.package=javax.servlet.http)(version>=2.4.0)) resolved by:
   osgi.wiring.package; javax.servlet.http 3.0.0 from javax.servlet-api [1]
osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.4.0)(!(version>=2.0.0))) resolved by:
   osgi.wiring.package; org.osgi.framework 1.7.0 from org.apache.felix.framework [0]
osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.http)(version>=1.2.0)(!(version>=2.0.0))) resolved by:
   osgi.wiring.package; org.osgi.service.http 1.2.1 from osgi.residential [8]
osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.packageadmin)(version>=1.2.0)(!(version>=2.0.0))) resolved by:
   osgi.wiring.package; org.osgi.service.packageadmin 1.2.0 from org.apache.felix.framework [0]
osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.startlevel)(version>=1.1.0)(!(version>=2.0.0))) resolved by:
   osgi.wiring.package; org.osgi.service.startlevel 1.1.0 from org.apache.felix.framework [0]
osgi.wiring.package; (&(osgi.wiring.package=org.apache.felix.bundlerepository)(version>=2.0.0)(!(version>=3.0.0))) [UNRESOLVED]
osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.obr)(version>=1.0.0)(!(version>=2.0.0))) [UNRESOLVED]
osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.cm)(version>=1.2.0)(!(version>=2.0.0))) resolved by:
   osgi.wiring.package; org.osgi.service.cm 1.4.0 from osgi.residential [8]
osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.condpermadmin)(version>=1.0.0)(!(version>=2.0.0))) [UNRESOLVED]
osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.log)(version>=1.3.0)(!(version>=2.0.0))) [UNRESOLVED]
osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.metatype)(version>=1.1.0)(!(version>=2.0.0))) [UNRESOLVED]
osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.permissionadmin)(version>=1.2.0)(!(version>=2.0.0))) [UNRESOLVED]
osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.prefs)(version>=1.1.0)(!(version>=2.0.0))) [UNRESOLVED]
osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.wireadmin)(version>=1.0.0)(!(version>=2.0.0))) [UNRESOLVED]

关于java - Apache Felix Web 控制台 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23872779/

相关文章:

java - 如何检查一种模式是否包含在另一种模式中

java - 实际参数…无法通过方法调用转换转换为…

java - 分布式事件处理

java - 有没有更简单的方法来处理 OSGi 中的多个引用?

intellij-idea - 如何在 IntelliJ Idea 中创建 OSGI 项目?

java - 捆绑 OSGi 依赖库的标准方法是什么?

Java变量转换

java - 无法将 jsp 链接到 servlet...未找到片段..?

eclipse - 当编辑器模板已经存在时,为什么还需要 Eclipse Snippets View?

java - 使用JNI调用给定DLL文件中定义的函数