Getting warning: "There should only be one Seam phase listener per application" while starting native tomcat with exploded wars from IntelliJ
I have two web application projects which are related. One is the website itself and the other one serves the static resources (css, JS) for the website.
I'm trying to run a native tomcat6 instance from IntelliJ and deploy the two exploded wars. When I run my configuration I get the following warning:
WARN [org.jboss.seam.jsf.SeamPhaseListener] - <There should only be one Seam phase listener per application>
followed by:
SEVERE: Error listenerStart
it looks like it somehow detects multiple seam phase listeners which prevent my application from starting properly.
When I run my applicatio开发者_如何学Gons in a Jetty container I'm not facing any problems. I also tried running only the website (without the static-resources). This gave me the same results: works with jetty but not with native tomcat. Also, I'm able to deploy the application manually in a tomcat instance (on a dedicated server).
What am I missing here?
I found out that in the WEB-INF/lib directory of the exploded war two seam jars are present. One org.jboss.seam.jar and one seam.jar. When I remove one of them, the warning doesn't occur anymore. Maybe IntelliJ puts this additional jar in the exploded war, cos I didn't see it before.
Make sure you have only one Seam jar in your classpath. I had the same problem and the reason was here:
./WEB-INF/lib/org.jboss.seam-jboss-seam-2.2.0.GA.jar
./WEB-INF/lib/jboss-seam-2.2.0.GA.jar
With Maven, its easy to find out where the duplicate jars come from. Just invoke "mvn dependency:tree".
精彩评论