2015-03-19 177 views
1

試圖安裝Apache Felix Web Consolefelix-4.6.1Apache Felix Web控制檯

我輸入deploy -s "org.apache.felix.webconsole"

而我得到的是:

g! deploy -s "org.apache.felix.webconsole" 
Target resource(s): 
    Apache Felix Web Management Console (3.1.2) 
Required resource(s): 
    Apache Felix iPOJO (1.8.0) 
    Apache Felix HTTP Service Jetty (1.0.1) 
    Java Servlet API (3.1.0) 
Optional resource(s): 
    OSGi System Bundle (3.9.1.v20140110-1610) 
    osgi.cmpn (4.3.1.201210102024) 
    Java Persistence API 2.1 (2.1.0.v201304241213) 
    slf4j-api (1.7.10) 
    Equinox Util Bundle (1.0.500.v20130404-1337) 
    Apache Felix iPOJO WebConsole Plugins (1.6.0) 
    Apache Log4j API (2.2.0) 
    Declarative Services (1.4.101.v20130813-1853) 
    Apache Felix Log Service (1.0.0) 
    Apache Log4j SLF4J Binding (2.2.0) 

及以下異常...

Deploying... ERROR: Resolver: Start error - org.eclipse.osgi org.osgi.framework.BundleException: Activator start error in bundle org.eclipse.osgi [26]. 
     at org.apache.felix.framework.Felix.activateBundle(Felix.java:2273) 
     at org.apache.felix.framework.Felix.startBundle(Felix.java:2141) 
     at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:977) 
     at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:964) 
     at org.apache.felix.bundlerepository.impl.ResolverImpl.deploy (ResolverImpl.java:661) 
     at org.apache.felix.gogo.command.OBR.deploy(OBR.java:395) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
     at java.lang.reflect.Method.invoke(Unknown Source) 
     at org.apache.felix.gogo.runtime.Reflective.invoke (Reflective.java:137) 
     at org.apache.felix.gogo.runtime.CommandProxy.execute (CommandProxy.java:82) 
     at org.apache.felix.gogo.runtime.Closure.executeCmd (Closure.java:477) 
     at org.apache.felix.gogo.runtime.Closure.executeStatement (Closure.java:403) 
     at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108) 
     at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:183) 
     at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:120) 
     at org.apache.felix.gogo.runtime.CommandSessionImpl.execute (CommandSessionImpl.java:92) 
     at org.apache.felix.gogo.shell.Console.run(Console.java:62) 
     at org.apache.felix.gogo.shell.Shell.console(Shell.java:203) 
     at org.apache.felix.gogo.shell.Shell.gosh(Shell.java:128) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
     at java.lang.reflect.Method.invoke(Unknown Source) 
     at org.apache.felix.gogo.runtime.Reflective.invoke (Reflective.java:137) 
     at org.apache.felix.gogo.runtime.CommandProxy.execute (CommandProxy.java:82) 
     at org.apache.felix.gogo.runtime.Closure.executeCmd (Closure.java:477) 
     at org.apache.felix.gogo.runtime.Closure.executeStatement (Closure.java:403) 
     at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108) 
     at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:183) 
     at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:120) 
     at org.apache.felix.gogo.runtime.CommandSessionImpl.execute (CommandSessionImpl.java:92) 
     at org.apache.felix.gogo.shell.Activator.run(Activator.java:75) 
     at java.lang.Thread.run(Unknown Source) Caused by: java.lang.ClassCastException: org.eclipse.osgi.framework.internal.core.SystemBundleActivator cannot be cast to org.osgi.framework.BundleActivator 
     at org.apache.felix.framework.Felix.createBundleActivator(Felix.java:4464) 

     at org.apache.felix.framework.Felix.activateBundle(Felix.java:2218) 
     ... 34 more 

而且我列出的軟件包是:

g! lb 
    START LEVEL 1  
    ID|State  |Level|Name 
    0|Active  | 0|System Bundle (4.6.1) 
    1|Active  | 1|Apache Felix Bundle Repository (2.0.2) 
    2|Active  | 1|Apache Felix File Install (3.4.2) 
    3|Active  | 1|Apache Felix Gogo Command (0.14.0) 
    4|Active  | 1|Apache Felix Gogo Runtime (0.12.1) 
    5|Active  | 1|Apache Felix Gogo Shell (0.10.0) 
    9|Installed | 5|Apache Commons Exec (1.3.0) 
    11|Resolved | 5|Apache Felix Shell Service (1.4.2) 
    26|Resolved | 1|OSGi System Bundle (3.9.1.v20140110-1610) 
    27|Active  | 1|osgi.cmpn (4.3.1.201210102024) 
    28|Active  | 1|Java Persistence API 2.1 (2.1.0.v201304241213) 
    29|Active  | 1|slf4j-api (1.7.10) 
    30|Active  | 1|Equinox Util Bundle (1.0.500.v20130404-1337) 
    31|Active  | 1|Apache Felix iPOJO WebConsole Plugins (1.6.0) 
    32|Active  | 1|Apache Log4j API (2.2.0) 
    33|Active  | 1|Apache Felix iPOJO (1.8.0) 
    34|Active  | 1|HTTP Service (1.0.1) 
    35|Active  | 1|Apache Felix Web Management Console (3.1.2) 
    36|Active  | 1|Declarative Services (1.4.101.v20130813-1853) 
    37|Active  | 1|Apache Felix Log Service (1.0.0) 
    38|Active  | 1|Apache Log4j SLF4J Binding (2.2.0) 
    39|Active  | 1|Java Servlet API (3.1.0) 

當我去http://localhost:8080/system/console頁面被加載,我可以看到Web控制檯。那麼,爲什麼我會得到上述例外呢?我應該擔心嗎?

UPDATE

我做了新的安裝框架,現在一切正常,沒有任何異常。 運行deploy -s "org.apache.felix.webconsole"後我得到:

Target resource(s): 
    Apache Felix Web Management Console (3.1.2) 
Required resource(s): 
    Apache Felix Configuration Admin Service (1.2.4)  
    Apache Felix Http Bundle (2.0.4) 
    Apache Felix iPOJO (1.8.0) 
    Apache Felix HTTP Service Jetty (1.0.1) 
Optional resource(s): 
    Apache Felix Declarative Services (1.6.0) 
    OSGi R4 Compendium Bundle (4.0.0)  
    Apache Felix iPOJO WebConsole Plugins (1.6.0) 
    Apache Felix Log Service (1.0.0) 
    Apache Felix Shell Service (1.4.2) 
    Deploying... 
    [INFO] Started bridged http service done. 

這讓我好奇,我記得我曾將我的本地的Maven的repository.xml爲OBR庫(在config.properties文件) 除了默認的一個。

於是我又回到了舊的安裝和運行:g! list equi和我

Common Eclipse Runtime (3.6.200.v20130402-1505) 
Console plug-in (1.0.0.v20120430-1356) 
Declarative Services (1.4.101.v20130813-1853) 
Eclipse Preferences Mechanism (3.5.100.v20130422-1538) 
Equinox Application Container (1.3.100.v20130327-1442) 
Equinox Concurrent API (1.1.0.v20130327-1442) 
Equinox Framework Admin (2.0.100.v20130327-2119) 
Equinox Framework Admin for Equinox (1.0.500.v20130327-2119) 
Equinox Java Authentication and Authorization Service (JAAS) (1.2.0.v20130424-1801) 
Equinox Launcher (1.3.0.v20130327-1440) 
Equinox Launcher Linux X86 Fragment (1.1.200.v20140116-2212) 
Equinox Launcher Linux X86_64 Fragment (1.1.200.v20140116-2212) 
Equinox Launcher MacOSX Cocoa Fragment (1.1.200.v20140116-2212) 
Equinox Launcher Win32 X86 Fragment (1.1.200.v20140116-2212) 
Equinox Launcher Win32 X86_64 Fragment (1.1.200.v20140116-2212) 
Equinox Provisioning Artifact Repository Support (1.1.200.v20130515-2028) 
Equinox Provisioning Core (2.3.0.v20130327-2119) 
Equinox Provisioning Director (2.3.1.v20140221-1852) 
Equinox Provisioning Director Application (1.0.300.v20130819-1621) 
Equinox Provisioning ECF based Transport (1.1.0.v20130516-1858) 
Equinox Provisioning Eclipse Touchpoint (2.1.200.v20130327-2119) 
Equinox Provisioning Engine (2.3.0.v20130526-2122) 
Equinox Provisioning Garbage Collector (1.0.200.v20130327-2119) 
Equinox Provisioning JAR Processor (1.0.300.v20130327-2119) 
Equinox Provisioning Legacy Update Site Support (1.0.400.v20130515-2028) 
Equinox Provisioning Metadata (2.2.0.v20130523-1557) 
Equinox Provisioning Metadata Repository (1.2.100.v20130327-2119) 
Equinox Provisioning Native Touchpoint (1.1.100.v20130327-2119) 
Equinox Provisioning Publisher for Eclipse (1.1.200.v20130516-1953) 
Equinox Provisioning Publisher Infrastructure (1.3.0.v20140129-1405) 
Equinox Provisioning Repository (2.3.0.v20130412-2032) 
Equinox Provisioning Repository Tools (2.1.0.v20130327-2119) 
Equinox Util Bundle (1.0.500.v20130404-1337) 
Event Admin (1.3.0.v20130327-1442) 
Extension Registry Support (3.5.301.v20130717-1549) 
Extra JDK 6 packages required by Metro Web Services OSGi bundle (2.3.1.b419, ...) 
Simple Configurator (1.0.400.v20130327-2119) 
Simple Configurator Manipulator (2.0.0.v20130327-2119) 
Sisu Equinox Launching (Incubation) (0.20.0) 
Sisu Equinox Services API (Incubation) (0.20.0) 

當我刪除了本地Maven OBR一切正常。所以現在問題可能會變成:爲什麼不能正確解決依賴問題呢?

回答

1

該錯誤是由org.eclipse.osgi「OSGi系統軟件包」引起的,這種類型的聲音就像您正在加載Felix中的Equinox OSGi框架一樣。如果是這種情況,您應該刪除該捆綁包。

+0

謝謝,這可能是問題所在。它也可能需要做的是,有可用的所需捆綁軟件的新版本。請檢查更新 – zlinks 2015-03-23 09:36:08

+0

@zlinks我不確定,但列出的「必需/可選資源」是特定的包(而不是包),所以我猜測它只是掃描導出包的所有可用包並選擇包適合。這似乎有點奇怪,但是版本庫中的一個包會導致問題。我不知道爲什麼這樣做。 – Kapep 2015-03-23 11:30:11