我在我的应用程序POM中有这个:
<dependency>
<groupId>org.jboss.errai</groupId>
<artifactId>errai-cdi-jetty</artifactId>
<version>${errai.version}</version>
<exclusions>
<exclusion>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-plus</artifactId>
</exclusion>
<exclusion>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-naming</artifactId>
</exclusion>
</exclusions>
</dependency>
但是,我仍然可以在jetty-plus
文件夹中看到jetty-naming
和WEB-INF\lib
(即mvn clean install
之后)。有哪些方法可以确定如何解决此问题。
更新
然而mvn依赖:树显示:
[INFO] +- org.jboss.errai:errai-cdi-jetty:jar:3.0-SNAPSHOT:compile
[INFO] +- org.eclipse.jetty:jetty-server:jar:9.2.0.RC0:compile
[INFO] | +- javax.servlet:javax.servlet-api:jar:3.1.0:compile
[INFO] | +- org.eclipse.jetty:jetty-http:jar:9.2.0.RC0:compile
[INFO] | \- org.eclipse.jetty:jetty-io:jar:9.2.0.RC0:compile
[INFO] +- org.eclipse.jetty:jetty-plus:jar:9.2.0.RC0:compile
[INFO] | \- org.eclipse.jetty:jetty-webapp:jar:9.2.0.RC0:compile
[INFO] | +- org.eclipse.jetty:jetty-xml:jar:9.2.0.RC0:compile
[INFO] | \- org.eclipse.jetty:jetty-servlet:jar:9.2.0.RC0:compile
[INFO] | \- org.eclipse.jetty:jetty-security:jar:9.2.0.RC0:compile
[INFO] +- org.eclipse.jetty:jetty-jndi:jar:9.2.0.RC0:compile
[INFO] | \- org.eclipse.jetty:jetty-util:jar:9.2.0.RC0:compile
答案 0 :(得分:1)
处理此问题的最佳方法是按照注释中的建议来排序依赖项,但如果由于某种原因这是不可行的,您还可以通过添加排除显式排除您不想要的jar文件像这样标记到maven-war-plugin:
<build>
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<packagingExcludes>WEB-INF/lib/i-dont-want-this.jar</packagingExcludes>
</configuration>
</plugin>
</plugins>
</build>
答案 1 :(得分:0)
我建议在您遇到问题的项目中使用mvn dependency:tree
。这将打印整个依赖关系树,您将能够看到有问题的depdendencies来自何处,并将它们排除在正确的位置。
我猜你没有从正确的模块中排除(请记住,依赖关系可能来自几个模块)
修改:我看到您添加了dependency:tree
,这很棒。现在你需要搜索你的依赖项并继续我之前提到的。