我尝试在 ShrinkWrap 的帮助下从我的应用程序创建 WebArchieve。但即使我不部署任何东西,但使用:
final WebArchive archive = ShrinkWrap.create(WebArchive.class, "archieve.war");
archive.as(ShrinkWrapWebAppContext.class); // throws EXCEPTION!
例外:
类“javax.servlet.HttpConstraintElement”的签名者信息与同一包中其他类的签名者信息不匹配
我试图做的事情: 据我所知,我使用了两个罐子,都包含 HttpConstraintElement。而这些 Maven 依赖项有两个不同的版本。所以我试图:
$ mvn dependency:tree -Dverbose |grep servlet
[INFO] +- javax.servlet:servlet-api:jar:2.5:compile
[INFO] +- javax.servlet.jsp:jsp-api:jar:2.2:compile
[INFO] +- javax.servlet:jstl:jar:1.2:compile
[INFO] | +- org.apache.tiles:tiles-servlet-wildcard:jar:2.2.2:compile
[INFO] | | +- (org.apache.tiles:tiles-servlet:jar:2.2.2:compile - omitted for duplicate)
[INFO] | | +- (org.apache.tiles:tiles-servlet:jar:2.2.2:compile - omitted for duplicate)
[INFO] | | +- (org.apache.tiles:tiles-servlet:jar:2.2.2:compile - omitted for duplicate)
[INFO] +- org.apache.tiles:tiles-servlet:jar:2.2.2:compile
[INFO] | +- (org.apache.tiles:tiles-servlet:jar:2.2.2:compile - omitted for duplicate)
[INFO] \- org.eclipse.jetty:jetty-servlet:jar:9.0.0.M4:compile
[INFO] +- org.eclipse.jetty.orbit:javax.servlet:jar:3.0.0.v201112011016:compile
问题:
它(上面的maven结果)是否意味着问题出在jetty.websocket和jetty.orbit冲突中?
如果没有,如何解决我的问题?
如果是,如何解决冲突?