2012-07-09 2 views
1

Tomcat 7, Richfaces 4.2.2, MyFaces 2.1.5 및 Facelets를 사용하고 있습니다. 내가 Tomcat을 시작하면 나는 오류를 얻을 :IllegalArgumentException : 중복 키 (JSF)

An error occured while initializing MyFaces: duplicate key: class javax.faces.convert.BooleanConverter 

java.lang.IllegalArgumentException: duplicate key: class javax.faces.convert.BooleanConverter 
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:115) 
at com.google.common.collect.RegularImmutableMap.<init>(RegularImmutableMap.java:72) 
at com.google.common.collect.ImmutableMap$Builder.fromEntryList(ImmutableMap.java:221) 
at com.google.common.collect.ImmutableMap$Builder.build(ImmutableMap.java:207) 
at org.richfaces.javascript.ClientServiceConfigParser.parseConfig(ClientServiceConfigParser.java:53) 
at org.richfaces.application.ValidatorModule.createClientScriptService(ValidatorModule.java:65) 
at org.richfaces.application.ValidatorModule.configure(ValidatorModule.java:60) 
at org.richfaces.application.ServicesFactoryImpl.init(ServicesFactoryImpl.java:27) 
at org.richfaces.application.InitializationListener.createFactory(InitializationListener.java:139) 
at org.richfaces.application.InitializationListener.onStart(InitializationListener.java:112) 
at org.richfaces.application.InitializationListener.processEvent(InitializationListener.java:157) 
at javax.faces.event.SystemEvent.processListener(SystemEvent.java:43) 
at org.apache.myfaces.application.ApplicationImpl._traverseListenerList(ApplicationImpl.java:2105) 
at org.apache.myfaces.application.ApplicationImpl.access$000(ApplicationImpl.java:118) 
at org.apache.myfaces.application.ApplicationImpl$SystemListenerEntry.publish(ApplicationImpl.java:2292) 
at org.apache.myfaces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:537) 
at org.apache.myfaces.webapp.AbstractFacesInitializer._dispatchApplicationEvent(AbstractFacesInitializer.java:248) 
at org.apache.myfaces.webapp.AbstractFacesInitializer.initFaces(AbstractFacesInitializer.java:140) 
at org.apache.myfaces.webapp.StartupServletContextListener.contextInitialized(StartupServletContextListener.java:111) 
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4765) 
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5260) 
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:866) 
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:842) 
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615) 
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:958) 
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1599) 
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) 
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) 
at java.util.concurrent.FutureTask.run(Unknown Source) 
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
at java.lang.Thread.run(Unknown Source) 

나는 this post에 제시된 해결책을 보았다,하지만 서로 다른이 경우, 내 클래스 경로에 "-source.jar"을 필요가 없습니다.

그 밖의 무엇이 잘못 될 수 있습니까?

답변

0

나는 너와 같은 배이었다.

당신이에 연결 한 포스트에서 이륙, 나는, WEB-INF/lib이 내 JAR 파일을 모두 검사 모두 richfaces-components-ui-4.2.2.Final.jarrichfaces-ui-validator-ui-4.2.2.Final.jar 파일 잘못된 클래스 매핑 (IntegerConverter을 제공 META-INF/csv.xml를 포함하는 것을 발견 나의 경우에는).

나는 선언 다음 메이븐 종속성합니다 (RichFaces 4.2.2Final BOM과는 앞에서 설명한)했다 그러나

 
<dependency> 
    <groupId>org.richfaces.ui</groupId> 
    <artifactId>richfaces-components-ui</artifactId> 
</dependency> 
<dependency> 
    <groupId>org.richfaces.core</groupId> 
    <artifactId>richfaces-core-impl</artifactId> 
</dependency> 
<dependency> 
    <groupId>org.richfaces.ui.validator</groupId> 
    <artifactId>richfaces-ui-validator-ui</artifactId> 
</dependency> 

에서, richfaces-components-ui는 슈퍼 세트 (즉, 그것은 몇을 포함합니다 richfaces-ui-validator-ui의 기타).

구성/RichFaces 구성 요소는 다를 수 있지만 대답은 WEB-INF/lib 디렉토리에 있습니다 (Maven 또는 다른 방식으로 구성되어 있는지 여부에 관계 없음) ... csv.xml 파일.

최소한의 종속성을 식별하면 오류가 사라집니다.

+0

Eclipse를 다시 설치했는데 성공했습니다. 고맙습니다! – roggaioso