2014-11-14 22 views
0

我正在與Osgi和Apache費利克斯發展,我有這個問題。 當我安裝並啓動我的球衣項目的戰爭我的Apache菲利克斯我得到這個:Apache費利克斯與Pax網絡戰爭擴展錯誤開始捆綁

org.ops4j.pax.web.pax-web-extender-war[org.ops4j.pax.web.extender.war.internal.Activator] : Starting destruction process for bundle platform-component-web-rest-service-authentication 
org.ops4j.pax.web.pax-web-extender-war[org.ops4j.pax.web.extender.war.internal.Activator] : Not an extended bundle or destruction of extension already finished for platform-component-web-rest-service-authentication. 
Started activator 
org.ops4j.pax.web.pax-web-extender-war[org.ops4j.pax.web.extender.war.internal.WebObserver] : Ignore bundle platform-component-web-rest-service-authentication [193] which is not compatible with this extender 

我已經安裝了這些軟件包:

0|Active  | 0|System Bundle (4.4.1) 
    1|Active  | 1|Apache Felix Bundle Repository (2.0.2) 
    2|Active  | 1|Apache Felix Gogo Command (0.14.0) 
    4|Active  | 1|Apache Felix Gogo Shell (0.10.0) 
    10|Active  | 1|Apache Felix Configuration Admin Service (1.2.8) 
    11|Active  | 1|Apache Felix EventAdmin (1.2.10) 
    35|Active  | 1|Apache Felix Gogo Runtime (0.12.1) 
    90|Active  | 1|Apache Felix Log Service (1.0.0) 
    91|Active  | 1|OSGi R4 Compendium Bundle (4.0.0) 
    92|Active  | 1|Apache Felix Declarative Services (1.6.0) 
    93|Active  | 1|Apache Felix iPOJO (1.8.0) 
    94|Active  | 1|Apache Felix Web Management Console (3.1.2) 
    95|Active  | 1|Apache Felix iPOJO WebConsole Plugins (1.6.0) 
    96|Active  | 1|Apache Felix Shell Service (1.4.2) 
    119|Active  | 1|Servlet 2.1 API (1.0.0) 
    144|Active  | 1|OSGi JAX-RS Connector (4.1.0.201407081443) 
    147|Active  | 1|jersey-all (2.10.1) 
    157|Active  | 1|OPS4J Pax Web - Jetty Bundle (4.0.0) 
    158|Active  | 1|OPS4J Pax Web - Runtime (4.0.0) 
    163|Active  | 1|http://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.7/slf4j-api-1.7.7-sources.jar (0.0.0) 
    165|Active  | 1|Java Servlet API (3.0.1) 
    167|Active  | 1|OPS4J Pax Logging - API (1.8.1) 
    170|Active  | 1|Apache Felix Dependency Manager (3.2.0) 
    171|Active  | 1|OPS4J Pax Web - Extender - WAR (4.0.0) 
    174|Active  | 1|Apache Felix Dependency Manager Runtime (3.2.0) 
    177|Active  | 1|ASM (5.0.3) 
    178|Active  | 1|ASM commons classes (5.0.3) 
    179|Active  | 1|ASM Tree class visitor (5.0.3) 
    182|Active  | 1|Apache XBean OSGI Bundle Utilities (3.18.0) 
    183|Active  | 1|Apache XBean :: Classpath Resource Finder (3.18.0) 
    193|Active  | 1|Auth Test (2.0.0.SNAPSHOT) 

我的活化劑是標準:

public class WebAppContextListener implements BundleActivator, ServletContextListener { 

static EventAdmin ea; 

BundleContext bc; 
ServiceReference eaRef; 

synchronized static EventAdmin getEa() { 
    return ea; 
} 

synchronized static void setEa(EventAdmin ea) { 
    WebAppContextListener.ea = ea; 
} 

@Override 
public void contextInitialized(final ServletContextEvent sce) { 
    if (getEa() != null) { 
     final String contextPath = sce.getServletContext().getContextPath(); 
     getEa().sendEvent(new Event("jersey/test/DEPLOYED",new HashMap<String, String>(){{ 
      put("context-path", contextPath);}})); 
    } 
} 

@Override 
public void contextDestroyed(final ServletContextEvent sce) { 
    if (getEa() != null) { 
     getEa().sendEvent(new Event("jersey/test/UNDEPLOYED",new HashMap<String, String>(){{put("context-path", sce.getServletContext().getContextPath());}})); 
    } 
} 

@Override 
public void start(BundleContext context) throws Exception { 
    System.out.println("Started Activator"); 
    bc = context; 
    eaRef = bc.getServiceReference(EventAdmin.class.getName()); 
    if (eaRef != null) { 
     setEa((EventAdmin)bc.getService(eaRef)); 
    } 
} 

@Override 
public void stop(BundleContext context) throws Exception { 
    if (eaRef != null) { 
     setEa(null); 
     bc.ungetService(eaRef); 
    } 
} 

}

我的MANIFEST.MF看起來像:

Manifest-Version: 1.0 
Export-Package: com.mycompany.platform.component.web.rest.service.authent 
ication.services;uses:="org.osgi.service.event,org.osgi.framework";ve 
rsion="2.0.0.SNAPSHOT" 
Embed-Directory: WEB-INF/lib 
Implementation-Title: Auth Test 
Bundle-ClassPath: .,WEB-INF/classes,WEB-INF/lib/hk2-api-2.3.0-b10.jar, 
WEB-INF/lib/oro-2.0.8.jar,WEB-INF/lib/jcs-1.3.jar,WEB-INF/lib/concurr 
ent-1.0.jar,WEB-INF/lib/log4j-1.2.12.jar,WEB-INF/lib/mimepull-1.8.jar 
,WEB-INF/lib/commons-dbcp-1.4.jar,WEB-INF/lib/jersey-client-2.12.jar, 
WEB-INF/lib/osgi-resource-locator-1.0.1.jar,WEB-INF/lib/jackson-jaxrs 
-json-provider-2.4.1.jar,WEB-INF/lib/jazzy-0.5.1.jar,WEB-INF/lib/comm 
ons-beanutils-1.7.0.jar,WEB-INF/lib/bonecp-0.8.0.RELEASE.jar,WEB-INF/ 
lib/json4s-core_2.11-3.2.10.jar,WEB-INF/lib/javax.servlet-api-3.0.1.j 
ar,WEB-INF/lib/snakeyaml-1.13.jar,WEB-INF/lib/swagger-annotations-1.3 
.8.jar,WEB-INF/lib/jsr305-2.0.1.jar,WEB-INF/lib/scala-library-2.11.1. 
jar,WEB-INF/lib/joda-convert-1.6.jar,WEB-INF/lib/commons-jxpath-1.2.j 
ar,WEB-INF/lib/scala-parser-combinators_2.11-1.0.1.jar,WEB-INF/lib/ja 
spell-0.3.jar,WEB-INF/lib/ant-optional-1.5.1.jar,WEB-INF/lib/platform 
-component-manager-user-2.0.0-SNAPSHOT.jar,WEB-INF/lib/platform-compo 
nent-manager-commons-2.0.0-SNAPSHOT.jar,WEB-INF/lib/metrics-core-3.1. 
0.jar,WEB-INF/lib/platform-component-manager-cache-2.0.0-SNAPSHOT.jar 
,WEB-INF/lib/junit-4.11.jar,WEB-INF/lib/slf4j-api-1.7.5.jar,WEB-INF/l 
ib/commons-pool-1.3.jar,WEB-INF/lib/swagger-jersey2-jaxrs_2.11-1.3.8. 
jar,WEB-INF/lib/commons-beanutils-core-1.7.0.jar,WEB-INF/lib/json4s-e 
xt_2.11-3.2.10.jar,WEB-INF/lib/berkeleydb-1.5.1.jar,WEB-INF/lib/commo 
ns-lang-2.4.jar,WEB-INF/lib/validation-api-1.1.0.Final.jar,WEB-INF/li 
b/javassist-3.16.1-GA.jar,WEB-INF/lib/lib-utils-0.2.0.jar,WEB-INF/lib 
/xmlrpc-2.0.jar,WEB-INF/lib/paranamer-2.6.jar,WEB-INF/lib/jackson-cor 
e-2.4.1.jar,WEB-INF/lib/hk2-locator-2.3.0-b10.jar,WEB-INF/lib/commons 
-logging-1.1.jar,WEB-INF/lib/ojdbc6-11.2.0.4.jar,WEB-INF/lib/commons- 
io-2.4.jar,WEB-INF/lib/dom4j-1.6.1.jar,WEB-INF/lib/jackson-databind-2 
.4.1.1.jar,WEB-INF/lib/platform-component-service-authentication-comm 
ons-2.0.0-SNAPSHOT.jar,WEB-INF/lib/jackson-annotations-2.4.1.jar,WEB- 
INF/lib/platform-component-service-authentication-2.0.0-SNAPSHOT.jar, 
WEB-INF/lib/mysql-connector-java-5.1.32.jar,WEB-INF/lib/lib-utils-web 
-0.3.0.jar,WEB-INF/lib/platform-component-manager-tenant-2.0.0-SNAPSH 
OT.jar,WEB-INF/lib/scalap-2.11.0.jar,WEB-INF/lib/platform-component-w 
eb-rest-commons-2.0.0-SNAPSHOT.jar,WEB-INF/lib/postgresql-9.1-901.jdb 
c4.jar,WEB-INF/lib/jersey-guava-2.12.jar,WEB-INF/lib/jackson-jaxrs-ba 
se-2.4.1.jar,WEB-INF/lib/lib-language-en-0.1.1.jar,WEB-INF/lib/javax. 
annotation-api-1.2.jar,WEB-INF/lib/platform-component-service-commons 
-2.0.0-SNAPSHOT.jar,WEB-INF/lib/joda-time-2.3.jar,WEB-INF/lib/json4s- 
native_2.11-3.2.10.jar,WEB-INF/lib/sqljdbc4-4.0.jar,WEB-INF/lib/guice 
-3.0.jar,WEB-INF/lib/scala-xml_2.11-1.0.1.jar,WEB-INF/lib/jersey-serv 
er-2.12.jar,WEB-INF/lib/avalon-framework-4.1.3.jar,WEB-INF/lib/lib-la 
nguage-es-0.1.1.jar,WEB-INF/lib/jdom2-2.0.5.jar,WEB-INF/lib/xml-apis- 
1.0.b2.jar,WEB-INF/lib/commons-digester-1.8.jar,WEB-INF/lib/pdb-2.0.2 
.jar,WEB-INF/lib/jersey-container-servlet-2.12.jar,WEB-INF/lib/reflec 
tions-0.9.9-RC1.jar,WEB-INF/lib/lib-language-pt-0.1.1.jar,WEB-INF/lib 
/javax.inject-2.2.0-b10.jar,WEB-INF/lib/lib-language-commons-0.1.1.ja 
r,WEB-INF/lib/platform-commons-2.0.0-SNAPSHOT.jar,WEB-INF/lib/aopalli 
ance-1.0.jar,WEB-INF/lib/commons-codec-1.8.jar,WEB-INF/lib/logback-cl 
assic-1.0.13.jar,WEB-INF/lib/lucene-analyzers-common-4.5.1.jar,WEB-IN 
F/lib/commons-configuration-1.4.jar,WEB-INF/lib/scala-compiler-2.11.0 
.jar,WEB-INF/lib/jersey-container-servlet-core-2.1.jar,WEB-INF/lib/pl 
atform-component-manager-license-2.0.0-SNAPSHOT.jar,WEB-INF/lib/tomca 
t-util-3.2.1.jar,WEB-INF/lib/jackson-module-jsonSchema-2.4.1.jar,WEB- 
INF/lib/velocity-1.5.jar,WEB-INF/lib/scala-reflect-2.11.1.jar,WEB-INF 
/lib/hamcrest-core-1.3.jar,WEB-INF/lib/jersey-media-multipart-2.1.jar 
,WEB-INF/lib/commons-logging-api-1.0.4.jar,WEB-INF/lib/logkit-1.0.1.j 
ar,WEB-INF/lib/jersey-common-2.12.jar,WEB-INF/lib/platform-component- 
manager-language-2.0.0-SNAPSHOT.jar,WEB-INF/lib/logback-core-1.0.13.j 
ar,WEB-INF/lib/platform-component-manager-database-2.0.0-SNAPSHOT.jar 
,WEB-INF/lib/json4s-jackson_2.11-3.2.10.jar,WEB-INF/lib/javax.inject- 
1.jar,WEB-INF/lib/json4s-ast_2.11-3.2.10.jar,WEB-INF/lib/hk2-utils-2. 
3.0-b10.jar,WEB-INF/lib/guava-15.0.jar,WEB-INF/lib/commons-lang3-3.1. 
jar,WEB-INF/lib/gson-2.2.4.jar,WEB-INF/lib/jackson-module-jaxb-annota 
tions-2.4.1.jar,WEB-INF/lib/xerces-1.2.3.jar,WEB-INF/lib/liquibase-co 
re-3.2.2.jar,WEB-INF/lib/aopalliance-repackaged-2.3.0-b10.jar,WEB-INF 
/lib/swagger-core_2.11-1.3.8.jar,WEB-INF/lib/jackson-module-scala_2.1 
1-2.4.1.jar,WEB-INF/lib/swagger-jaxrs_2.11-1.3.8.jar,WEB-INF/lib/java 
x.ws.rs-api-2.0.1.jar 
Built-By: jmartins 
Tool: Bnd-0.0.357 
Web-ContextPath: authentication 
Implementation-Vendor: mycompany, Lda 
Implementation-Vendor-Id: com.mycompany.platform.component.web.rest.servi 
ce 
Embed-Transitive: true 
Bundle-Activator: com.mycompany.platform.component.web.rest.service.authe 
ntication.services.WebAppContextListener 
Specification-Title: Auth Test 
Bundle-SymbolicName: platform-component-web-rest-service-authenticatio 
n 
Webapp-Context: authentication 
Implementation-Version: 2.0.0-SNAPSHOT 
Specification-Vendor: mycompany, Lda 
Bundle-Name: Auth Test 
Created-By: 1.7.0_72 (Oracle Corporation) 
Bundle-Vendor: mycompany, Lda 
Build-Jdk: 1.7.0_72 
Bundle-Version: 2.0.0.SNAPSHOT 
Bnd-LastModified: 1415982968397 
Bundle-ManifestVersion: 2 
Embed-Dependency: *;scope=compile|runtime 
Bundle-DocURL: http://mycompany.com 
Import-Package: com.mycompany.platform.component.web.rest.service.authent 
ication.services;version="2.0",org.osgi.framework;version="1.5",org.o 
sgi.service.event;version="1.2" 
Embed-StripGroup: true 
Specification-Version: 2.0.0-SNAPSHOT 
Archiver-Version: Plexus Archiver 

當我要求http://localhost:8080/authentication/rest/2.0.0/authentication/auth例如我得到404,看來戰爭甚至沒有部署。 關於這可能是什麼想法?

+0

只有一條評論,你應該做一些更多的導入,而不是將所有的依賴關係嵌入到戰爭中。 – 2014-11-18 06:29:17

回答

1

不要在應用程序中嵌入servlet API。

WEB-INF/lib/javax.servlet-api-3.0.1.j 

AR 這是不允許的是在戰爭中(即使不是int性病。應用程序容器) 這可能已經是你的根本原因。

1

當您的軟件包無法加載javax.servlet.Servlet時,Pax Web記錄「與此擴展程序不兼容」錯誤。嘗試添加軟件包導入。

+0

我不得不導入javax.servlet並啓動激活器。現在我無法在jetty上發佈我的webapp,或者它沒有完成發佈: org.ops4j.pax.web.pax-web-extender-war [org.ops4j.pax.web.extender.war.internal。激活器]:異步調度bundle platform-component-web-rest-service-authentication的擴展開始 org.ops4j.pax.web.pax-web-extender-war [org.ops4j.pax.web.extender.war。 internal.WebAppPublisher]:發佈Web應用程序[WebApp {displayName =認證管理器,contextName =認證,m_httpContext = null}] 日誌在那裏停止。我提出要求我得到404。 – 2014-11-17 12:12:21

+0

順便說一句:非常感謝你的提示 – 2014-11-17 12:14:24