2016-04-13 11 views
4

[EDIT]
Das Arbeitsprojekt finden Sie unter:
https://github.com/joergi77/JSF2_Richfaces4_Seam_23

[/ EDIT]Bereitstellen eines Seam Projekt (WAR-Datei) auf Tomcat 7 - Maven: zwei Komponenten mit demselben Namen

Wenn ich mein Projekt auf einem Tomcat 7.0.57 (war ein JBoss-Ohrprojekt, ich werde die Struktur in eine WAR-Datei ändern), bekomme ich keinen Fehler, aber die folgenden Informationen warnt mich, dass ich habe zwei Komponenten mit dem gleichen Namen.

Ich habe kein Problem, dieses Projekt zu kompilieren, dieser Fehler tritt nur auf, wenn ich meine War-Datei auf den Tomcat 7.0.57 deploy ich habe das Problem.

Mein Setup:

  • Seam 2.3.1.Final
  • JSF 2.1.2
  • Richfaces 3.3.3.Final
  • Tomcat 7.0.57 (sollte JSF 2 kompatibel sein)
  • WAR
  • NO EJB
  • Java 7

Initialisierung [INFO] zwei Komponenten mit gleichen Namen, eine höhere Priorität gewinnt: org.jboss.seam.transaction.transaction

Initialisierung [INFO] zwei Komponenten mit gleichen Namen, eine höhere Priorität gewinnt : org.jboss.seam.security.persistentPermissionResolver

Initialisierung [INFO] zwei Komponenten mit gleichen Namen, eine höhere Priorität gewinnt: org.jboss.seam.co re.locale

Initialisierung [INFO] zwei Komponenten mit gleichen Namen, eine höhere Priorität gewinnt: org.jboss.seam.web.userPrincipal

Initialisierung [INFO] zwei Komponenten mit gleichen Namen, eine höhere Priorität gewinnt: org.jboss.seam.core.manager

Initialisierung [INFO] zwei Komponenten mit gleichen Namen, eine höhere Priorität gewinnt: org.jboss.seam.core.locale

Initialisierung [INFO] zwei Komponenten mit gleichen Namen, eine höhere Priorität gewinnt: org.jboss.seam.core.expressions

Initialisierung [INFO] zwei Komponenten mit gleichen Namen, eine höhere Priorität gewinnt: org.jboss.seam.persistence.persistenceProvider

Initialisierung [INFO] zwei Komponenten mit gleichen Namen, eine höhere Priorität gewinnt: org.jboss.seam.async.dispatcher

Initialisierung [INFO] zwei Komponenten mit gleichen Namen, eine höhere Priorität gewinnt : org.jboss.seam.core.resourceLoader

Initialisierung [INFO] zwei Komponenten mit gleichen Namen, eine höhere Priorität gewinnt: org.jboss.seam.web.isUserInRole

Initialisierung [INFO] zwei Komponenten mit gleichen Namen, eine höhere Priorität gewinnt: org.jboss.seam.web.parameters

mit mvn dependency:tree bekam ich folgendes:

com.ourproject:war:1.0-SNAPSHOT 
+- de.dialogworks.base:company-connect:jar:1.1.1-SNAPSHOT:compile 
| +- de.dialogworks.base:company-utils:jar:1.1.1-SNAPSHOT:compile 
| | +- commons-io:commons-io:jar:1.3.1:compile (version managed from 1.3.2) 
| | \- net.sf.opencsv:opencsv:jar:2.3:compile 
| +- com.fasterxml.jackson.core:jackson-annotations:jar:2.3.0:compile 
| +- com.fasterxml.jackson.core:jackson-core:jar:2.3.0:compile 
| +- com.fasterxml.jackson.core:jackson-databind:jar:2.3.0:compile 
| +- com.fasterxml.jackson.datatype:jackson-datatype-hibernate4:jar:2.3.0:compile 
| +- com.sun.jersey:jersey-server:jar:1.14:compile 
| | \- com.sun.jersey:jersey-core:jar:1.14:compile 
| +- com.sun.jersey:jersey-client:jar:1.14:compile 
| +- com.sun.jersey:jersey-json:jar:1.14:compile 
| | +- org.codehaus.jettison:jettison:jar:1.1:compile (version managed from 1.1) 
| | +- org.codehaus.jackson:jackson-core-asl:jar:1.9.2:compile 
| | +- org.codehaus.jackson:jackson-mapper-asl:jar:1.9.2:compile 
| | +- org.codehaus.jackson:jackson-jaxrs:jar:1.9.2:compile 
| | \- org.codehaus.jackson:jackson-xc:jar:1.9.2:compile 
| \- com.sun.jersey.contribs:jersey-multipart:jar:1.14:compile 
|  \- org.jvnet:mimepull:jar:1.6:compile 
+- org.jboss.seam:jboss-seam-ui:jar:2.3.1.Final:compile 
| \- org.jboss.seam:jboss-seam:jar:2.3.1.Final:compile (version managed from 2.3.1.Final) 
|  +- org.testng:testng:jar:5.14.10:compile (version managed from 5.14.10) 
|  | +- org.beanshell:bsh:jar:2.0b4:compile (version managed from 2.0b4) 
|  | +- com.beust:jcommander:jar:1.12:compile 
|  | \- org.yaml:snakeyaml:jar:1.6:compile 
|  +- junit:junit:jar:4.8.2:compile (version managed from 4.8.2) 
|  \- org.jboss.el:jboss-el:jar:1.0_02.CR6:compile (version managed from 1.0_02.CR6) 
+- org.jboss.seam:jboss-seam-remoting:jar:2.3.1.Final:compile 
+- javax.persistence:persistence-api:jar:1.0:compile 
+- org.hibernate:hibernate-validator:jar:4.0.2.GA:compile 
| +- javax.xml.bind:jaxb-api:jar:2.1:compile 
| | \- javax.xml.stream:stax-api:jar:1.0-2:compile 
| \- com.sun.xml.bind:jaxb-impl:jar:2.1.3:compile 
+- org.hibernate:hibernate-core:jar:4.0.1.Final:compile 
| +- commons-collections:commons-collections:jar:3.2.1:compile 
| +- antlr:antlr:jar:2.7.6:compile (version managed from 2.7.7) 
| +- org.jboss.spec.javax.transaction:jboss-transaction-api_1.1_spec:jar:1.0.1.Final:compile (version managed from 1.0.0.Final) 
| +- dom4j:dom4j:jar:1.6.1-brew:compile (version managed from 1.6.1) 
| +- org.hibernate.javax.persistence:hibernate-jpa-2.0-api:jar:1.0.1.Final:compile (version managed from 1.0.1.Final) 
| +- org.jboss.logging:jboss-logging:jar:3.1.0.CR2:compile 
| +- org.javassist:javassist:jar:3.15.0-GA:compile (version managed from 3.15.0-GA) 
| \- org.hibernate.common:hibernate-commons-annotations:jar:4.0.1.Final:compile 
+- javax.validation:validation-api:jar:1.1.0.Final:compile 
+- org.hibernate:hibernate-entitymanager:jar:4.0.1.Final:compile 
+- javax.mail:mail:jar:1.4:compile 
| \- javax.activation:activation:jar:1.1.1:compile (version managed from 1.1) 
+- org.jboss.spec.javax.interceptor:jboss-interceptors-api_1.1_spec:jar:1.0.0.Final:compile 
+- com.pdflib:pdflib:jar:8.0:compile 
+- quartz:quartz:jar:1.5.2:compile 
| \- commons-logging:commons-logging:jar:1.0.4:compile 
+- org.jfree:jfreechart:jar:1.0.19:compile 
| \- org.jfree:jcommon:jar:1.0.23:compile 
+- org.apache.cxf:cxf-rt-frontend-jaxws:jar:2.6.0:compile 
| +- xml-resolver:xml-resolver:jar:1.2:compile 
| +- asm:asm:jar:3.3.1:compile 
| +- org.apache.cxf:cxf-api:jar:2.6.0:compile 
| | +- org.codehaus.woodstox:woodstox-core-asl:jar:4.1.2:runtime 
| | | \- org.codehaus.woodstox:stax2-api:jar:3.1.1:runtime 
| | +- org.apache.ws.xmlschema:xmlschema-core:jar:2.0.2:compile 
| | +- org.apache.geronimo.specs:geronimo-javamail_1.4_spec:jar:1.7.1:compile 
| | \- wsdl4j:wsdl4j:jar:1.6.2:compile 
| +- org.apache.cxf:cxf-rt-core:jar:2.6.0:compile 
| +- org.apache.cxf:cxf-rt-bindings-soap:jar:2.6.0:compile 
| | \- org.apache.cxf:cxf-rt-databinding-jaxb:jar:2.6.0:compile 
| +- org.apache.cxf:cxf-rt-bindings-xml:jar:2.6.0:compile 
| +- org.apache.cxf:cxf-rt-frontend-simple:jar:2.6.0:compile 
| \- org.apache.cxf:cxf-rt-ws-addr:jar:2.6.0:compile 
|  \- org.apache.cxf:cxf-rt-ws-policy:jar:2.6.0:compile 
|  \- org.apache.neethi:neethi:jar:3.0.2:compile 
+- org.apache.cxf:cxf-rt-transports-http:jar:2.6.0:compile 
+- org.apache.cxf:cxf-rt-transports-local:jar:2.6.0:compile 
+- commons-net:commons-net:jar:2.0:compile 
+- javax.el:el-api:jar:2.2:provided 
+- javax.servlet:javax.servlet-api:jar:3.0.1:provided 
+- com.jcraft:jsch:jar:0.1.48:compile 
+- org.apache.sanselan:sanselan:jar:0.97-incubator:compile 
+- javax.servlet.jsp:jsp-api:jar:2.1:provided 
+- com.sun.faces:jsf-api:jar:2.1.2:compile 
+- com.sun.faces:jsf-impl:jar:2.1.2:compile 
+- javax.servlet:jstl:jar:1.1.2:compile 
+- org.richfaces.ui:richfaces-ui:jar:3.3.3.Final:compile 
| +- org.richfaces.framework:richfaces-api:jar:3.3.3.Final:compile 
| +- commons-beanutils:commons-beanutils:jar:1.7.0:compile (version managed from 1.8.0) 
| \- commons-digester:commons-digester:jar:2.1:compile (version managed from 1.8.1) 
+- org.richfaces.framework:richfaces-impl-jsf2:jar:3.3.3.Final:compile 
+- commons-lang:commons-lang:jar:2.3:compile 
+- log4j:log4j:jar:1.2.14:compile 
+- org.slf4j:slf4j-log4j12:jar:1.5.8:compile 
+- org.slf4j:slf4j-api:jar:1.5.8:compile 
+- mysql:mysql-connector-java:jar:5.1.18:compile 
+- net.sourceforge.jexcelapi:jxl:jar:2.6.10:compile 
\- joda-time:joda-time:jar:2.0:compile 

Meine pom.xml, web.xml und andere Dateien befinden sich in diesem stackoverflow post.

Ich kann nicht wirklich sehen, wo die doppelte Komponente versteckt ist.

Wenn ein mvn dependency:tree -Dincludes=org.jboss.seam tun Ich habe dies folgende, die es nicht scheint ein Problem zu mir zu sein:

+- org.jboss.seam:jboss-seam-ui:jar:2.3.1.Final:compile 
| \- org.jboss.seam:jboss-seam:jar:2.3.1.Final:compile (version managed from 2.3.1.Final) 
\- org.jboss.seam:jboss-seam-remoting:jar:2.3.1.Final:compile 

[EDITED] - das ist mein components.xml

<?xml version="1.0" encoding="UTF-8"?> 
<components xmlns="http://jboss.org/schema/seam/components" 
      xmlns:core="http://jboss.org/schema/seam/core" 
      xmlns:persistence="http://jboss.org/schema/seam/persistence" 
      xmlns:transaction="http://jboss.org/schema/seam/transaction" 
      xmlns:security="http://jboss.org/schema/seam/security" 
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
      xmlns:mail="http://jboss.org/schema/seam/mail" 
      xmlns:async="http://jboss.org/schema/seam/async" 
      xmlns:web="http://jboss.org/schema/seam/web" 
      xsi:schemaLocation= 
       "http://jboss.org/schema/seam/core http://jboss.org/schema/seam/core-2.3.xsd 
       http://jboss.org/schema/seam/persistence http://jboss.org/schema/seam/persistence-2.3.xsd 
       http://jboss.org/schema/seam/transaction http://jboss.org/schema/seam/transaction-2.3.xsd 
       http://jboss.org/schema/seam/security http://jboss.org/schema/seam/security-2.3.xsd 
       http://jboss.org/schema/seam/components http://jboss.org/schema/seam/components-2.3.xsd 
       http://jboss.org/schema/seam/mail http://jboss.org/schema/seam/mail-2.3.xsd 
       http://jboss.org/schema/seam/async http://jboss.org/schema/seam/async-2.3.xsd 
       http://jboss.org/schema/seam/web http://jboss.org/schema/seam/web-2.3.xsd"> 

    <core:init debug="true"/> 

    <!-- took the following from http://community.jboss.org/thread/10024?tstart=0 --> 
    <core:manager concurrent-request-timeout="30000" 
     conversation-id-parameter="cid" conversation-timeout="1200000" 
     parent-conversation-id-parameter="pid" /> 

    <transaction:entity-transaction entity-manager="#{entityManager}"/> 

    <persistence:entity-manager-factory name="projectDatabase"/> 

    <persistence:managed-persistence-context name="entityManager" 
           auto-create="true" 
        entity-manager-factory="#{projectDatabase}"/> 

    <security:jpa-identity-store 
     user-class="com.ourproject.user.model.Account" 
     role-class="com.ourproject.user.model.AccountRole" /> 

    <security:permission-manager permission-store="#{jpaPermissionStore}"/>  

    <security:jpa-permission-store 
     user-permission-class="com.ourproject.user.model.AccountPermission"/> 

    <web:multipart-filter create-temp-files="true" 
     max-request-size="100000000" url-pattern="*.html" /> 

    <web:logging-filter disabled="true" /> 

    <web:cache-control-filter name="imageCacheControlFilter" 
     regex-url-pattern=".*(\.gif|\.png|\.jpg|\.jpeg)" value="max-age=86400" /> 

    <web:cache-control-filter name="textCacheControlFilter" 
     regex-url-pattern=".*(\.css|\.js)" value="max-age=1400" /> 

    <core:resource-loader> 
     <core:bundle-names> 
      <value>messages</value> 
      <value>navigation_messages</value> 
      <value>product_messages</value> 
      <value>customer_referral</value> 
     </core:bundle-names> 
    </core:resource-loader> 

    <async:quartz-dispatcher /> 


</components> 

Das ist mein seam.properties (nur 1 in meinem Projekt)

# SEAM Settings 
org.jboss.seam.core.init.debug=false 

, aber ich habe auch ein seam.quartz.properties

#============================================================== 
# Configure Main Scheduler Properties 
#============================================================== 

org.quartz.scheduler.instanceName = Sched1 
org.quartz.scheduler.instanceId = AUTO 
org.quartz.scheduler.rmi.export = false 
org.quartz.scheduler.rmi.proxy = false 

#============================================================== 
# Configure ThreadPool 
#============================================================== 

org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool 
org.quartz.threadPool.threadCount = 3 

#============================================================== 
# Configure JobStore 
#============================================================== 

org.quartz.jobStore.misfireThreshold = 60000 
org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore 

Ist seam.properties und seam.quartz.properties zusammen ein Problem haben?

Hier sind die Libs ich in meinem Kater haben/libs

annotations-api.jar 
catalina-ant.jar 
catalina-ha.jar 
catalina.jar 
catalina-tribes.jar 
ecj-4.4.jar 
el-api.jar 
jasper-el.jar 
jasper.jar 
jsp-api.jar 
servlet-api.jar 
tomcat7-websocket.jar 
tomcat-api.jar 
tomcat-coyote.jar 
tomcat-dbcp.jar 
tomcat-i18n-es.jar 
tomcat-i18n-fr.jar 
tomcat-i18n-ja.jar 
tomcat-jdbc.jar 
tomcat-util.jar 
websocket-api.jar 

Als Anforderung von @tair Ordner, hier ist mein jar -tf my.war

META-INF/ 
META-INF/MANIFEST.MF 
WEB-INF/ 

...our stuff removed .. 

WEB-INF/pages.xml 
WEB-INF/lib/jersey-client-1.14.jar 
WEB-INF/lib/mysql-connector-java-5.1.18.jar 
WEB-INF/lib/slf4j-log4j12-1.5.8.jar 
WEB-INF/lib/hibernate-commons-annotations-4.0.1.Final.jar 
WEB-INF/lib/jackson-core-2.3.0.jar 
WEB-INF/lib/cxf-rt-frontend-simple-2.6.0.jar 
WEB-INF/lib/javassist-3.12.0.GA.jar 
WEB-INF/lib/xml-resolver-1.2.jar 
WEB-INF/lib/testng-5.14.10.jar 
WEB-INF/lib/jsf-api-2.1.2.jar 
WEB-INF/lib/jersey-server-1.14.jar 
WEB-INF/lib/commons-lang-2.3.jar 
WEB-INF/lib/cxf-rt-transports-local-2.6.0.jar 
WEB-INF/lib/activation-1.1.1.jar 
WEB-INF/lib/bsh-2.0b4.jar 
WEB-INF/lib/jettison-1.1.jar 
WEB-INF/lib/richfaces-api-3.3.3.Final.jar 
WEB-INF/lib/slf4j-api-1.5.8.jar 
WEB-INF/lib/commons-beanutils-1.7.0.jar 
WEB-INF/lib/jersey-json-1.14.jar 
WEB-INF/lib/log4j-1.2.14.jar 
WEB-INF/lib/persistence-api-1.0.jar 
WEB-INF/lib/cxf-rt-frontend-jaxws-2.6.0.jar 
WEB-INF/lib/snakeyaml-1.6.jar 
WEB-INF/lib/commons-logging-1.0.4.jar 
WEB-INF/lib/stax-api-1.0-2.jar 

WEB-INF/lib/xmlschema-core-2.0.2.jar 
WEB-INF/lib/jaxb-api-2.1.jar 
WEB-INF/lib/jboss-seam-remoting-2.3.1.Final.jar 
WEB-INF/lib/javassist-3.15.0-GA.jar 
WEB-INF/lib/joda-time-2.0.jar 
WEB-INF/lib/neethi-3.0.2.jar 
WEB-INF/lib/jackson-core-asl-1.9.2.jar 
WEB-INF/lib/jxl-2.6.10.jar 
WEB-INF/lib/pdflib-8.0.jar 
WEB-INF/lib/jackson-xc-1.9.2.jar 
WEB-INF/lib/jboss-transaction-api_1.1_spec-1.0.1.Final.jar 
WEB-INF/lib/sanselan-0.97-incubator.jar 
WEB-INF/lib/opencsv-2.3.jar 
WEB-INF/lib/mail-1.4.jar 
WEB-INF/lib/hibernate-core-4.0.1.Final.jar 
WEB-INF/lib/cxf-rt-ws-addr-2.6.0.jar 
WEB-INF/lib/jstl-1.1.2.jar 
WEB-INF/lib/commons-net-2.0.jar 
WEB-INF/lib/jackson-datatype-hibernate4-2.3.0.jar 
WEB-INF/lib/woodstox-core-asl-4.1.2.jar 
WEB-INF/lib/cxf-rt-databinding-jaxb-2.6.0.jar 
WEB-INF/lib/commons-collections-3.2.1.jar 
WEB-INF/lib/wsdl4j-1.6.2.jar 
WEB-INF/lib/cxf-rt-transports-http-2.6.0.jar 

WEB-INF/lib/cxf-rt-bindings-soap-2.6.0.jar 
WEB-INF/lib/cxf-api-2.6.0.jar 
WEB-INF/lib/jboss-el-1.0_02.CR6.jar 
WEB-INF/lib/hibernate-jpa-2.0-api-1.0.1.Final.jar 
WEB-INF/lib/jfreechart-1.0.19.jar 
WEB-INF/lib/jcommon-1.0.23.jar 
WEB-INF/lib/jcommander-1.12.jar 
WEB-INF/lib/richfaces-impl-jsf2-3.3.3.Final.jar 
WEB-INF/lib/jaxb-impl-2.1.3.jar 
WEB-INF/lib/validation-api-1.1.0.Final.jar 
WEB-INF/lib/jackson-mapper-asl-1.9.2.jar 
WEB-INF/lib/jboss-interceptors-api_1.1_spec-1.0.0.Final.jar 
WEB-INF/lib/jboss-seam-2.3.1.Final.jar 
WEB-INF/lib/jsch-0.1.48.jar 
WEB-INF/lib/jsf-impl-2.1.2.jar 
WEB-INF/lib/jboss-logging-3.1.0.CR2.jar 
WEB-INF/lib/commons-digester-2.1.jar 
WEB-INF/lib/cxf-rt-core-2.6.0.jar 
WEB-INF/lib/jboss-seam-ui-2.3.1.Final.jar 
WEB-INF/lib/asm-3.3.1.jar 
WEB-INF/lib/hibernate-validator-4.0.2.GA.jar 
WEB-INF/lib/cxf-rt-bindings-xml-2.6.0.jar 
WEB-INF/lib/geronimo-javamail_1.4_spec-1.7.1.jar 
WEB-INF/lib/richfaces-ui-3.3.3.Final.jar 
WEB-INF/lib/jersey-multipart-1.14.jar 
WEB-INF/lib/antlr-2.7.6.jar 
WEB-INF/lib/jackson-annotations-2.3.0.jar 
WEB-INF/lib/hibernate-entitymanager-4.0.1.Final.jar 
WEB-INF/lib/quartz-1.5.2.jar 
WEB-INF/lib/jersey-core-1.14.jar 
WEB-INF/lib/stax2-api-3.1.1.jar 
WEB-INF/lib/mimepull-1.6.jar 
WEB-INF/lib/junit-4.8.2.jar 
WEB-INF/lib/commons-io-1.3.1.jar 
WEB-INF/lib/cxf-rt-ws-policy-2.6.0.jar 
WEB-INF/lib/dom4j-1.6.1-brew.jar 
WEB-INF/lib/jackson-databind-2.3.0.jar 
WEB-INF/lib/jackson-jaxrs-1.9.2.jar 
WEB-INF/navigation.xml 
WEB-INF/faces-config.xml 
WEB-INF/homescreen-warning.page.xml 
WEB-INF/web.xml 

WEB-INF/classes/ourproject-datamodel.application.properties 

WEB-INF/classes/ter 

WEB-INF/classes/seam.properties 
WEB-INF/classes/customer_referral.properties 
WEB-INF/classes/seam.quartz.properties 

WEB-INF/classes/META-INF/components.xml 
WEB-INF/classes/META-INF/persistence.xml 
WEB-INF/classes/log4j.properties 
WEB-INF/classes/logging.properties 

login.page.xml 
error.page.xml 
+2

Vielleicht haben Sie nur einige zusätzliche Gläser auf Tomcats Libs oder auf Ihrem Classpath? –

+0

Nein, ich habe es nicht auf dem Tomcat oder auf dem Klassenpfad so weit ich weiß – Joerg

+0

Also hast du bestätigt, dass du in deinem .war tatsächlich zwei Komponenten hast oder nicht? und bestätigt, dass dein lib-Ordner in Tomcat leer ist? – eis

Antwort

1

Wenn Ihre Anwendung funktioniert wie erwartet, Sie don Ich muss mir keine Sorgen um diese Nachrichten machen. Dies ist die Standardmethode zum Überschreiben/Erweitern der integrierten Funktionalität von JBoss Seam Framework. Siehe Beispiel hier [1].

Diese Nachrichten sind kein Hinweis auf Klassenpfadduplizierung, da Sie in diesem Fall etwas wie ERROR: Found two or more components with same name and precedence .. haben.

[1] http://docs.jboss.org/seam/2.3.1.Final/reference/html_single/#d0e13759

+0

es funktioniert (natürlich :() nicht wie erwartet. Mein Problem ist, dass die JSF nicht in HTML "übersetzt" wird, kann ich immer noch die JSF-Tags und nicht die HTML-Tags sehen, wie '', '' & ' Joerg

+0

@Joerg dies ist wegen JSF Fehlkonfiguration hier für mehr Info http://docs.jboss.org/seam/2.3.1.Final/reference/html_single/#configuration – Tair

+0

ok, es funktioniert jetzt ... sieht wirklich wie eine Fehlkonfiguration aus - alles funktioniert jetzt wie erwartet, aber immer noch das doppelte Zeug .... thx – Joerg