简体   繁体   English

Maven-jetty-plugin的Maven传递依赖项问题

[英]Maven transitive dependency issue with maven-jetty-plugin

I have a project called Animal and it have two submodules Animal-models and Animal-server. 我有一个名为Animal的项目,它有两个子模块Animal-models和Animal-server。 The Animal-models have a compile time dependency xyz and the Animal-server have dependency on Animal-models jar. 动物模型具有编译时间依赖性xyz,而动物服务器具有动物模型jar依赖性。 And the Animal-server generates a war file for running on jetty server. 动物服务器生成一个战争文件以在码头服务器上运行。 Everything is working fine currently. 目前一切正常。 With the new changes dependency xyz is removed from Animal-models project and all of a sudden the server jetty run is failing with following exception. 随着新的更改,xyz依赖项已从Animal-models项目中删除,突然服务器码头运行失败,并出现以下异常。 How to find out which jar is causing the issue? 如何找出引起问题的罐子?

    [ERROR] Failed to execute goal org.eclipse.jetty:jetty-maven-plugin:9.4.8.v20171121:run (default-cli) on project ccd-event-service: Execution default-cli of goal org.eclipse.jetty:jetty-maven-plugin:9.4.8.v20171121:run failed: A required class was missing while executing org.eclipse.jetty:jetty-maven-plugin:9.4.8.v20171121:run: org/jboss/resteasy/plugins/guice/ModuleProcessor
[ERROR] -----------------------------------------------------
[ERROR] realm =    plugin>org.eclipse.jetty:jetty-maven-plugin:9.4.8.v20171121
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/jetty-maven-plugin/9.4.8.v20171121/jetty-maven-plugin-9.4.8.v20171121.jar
[ERROR] urls[1] = file:/Users/crazyCow/.m2/repository/javax/enterprise/cdi-api/1.0/cdi-api-1.0.jar
[ERROR] urls[2] = file:/Users/crazyCow/.m2/repository/org/eclipse/sisu/org.eclipse.sisu.inject/0.3.3/org.eclipse.sisu.inject-0.3.3.jar
[ERROR] urls[3] = file:/Users/crazyCow/.m2/repository/org/codehaus/plexus/plexus-utils/3.0.24/plexus-utils-3.0.24.jar
[ERROR] urls[4] = file:/Users/crazyCow/.m2/repository/org/apache/commons/commons-lang3/3.5/commons-lang3-3.5.jar
[ERROR] urls[5] = file:/Users/crazyCow/.m2/repository/org/apache/maven/maven-builder-support/3.5.0/maven-builder-support-3.5.0.jar
[ERROR] urls[6] = file:/Users/crazyCow/.m2/repository/com/google/guava/guava/20.0/guava-20.0.jar
[ERROR] urls[7] = file:/Users/crazyCow/.m2/repository/org/apache/maven/resolver/maven-resolver-util/1.0.3/maven-resolver-util-1.0.3.jar
[ERROR] urls[8] = file:/Users/crazyCow/.m2/repository/org/apache/maven/shared/maven-shared-utils/3.1.0/maven-shared-utils-3.1.0.jar
[ERROR] urls[9] = file:/Users/crazyCow/.m2/repository/commons-io/commons-io/2.5/commons-io-2.5.jar
[ERROR] urls[10] = file:/Users/crazyCow/.m2/repository/com/google/inject/guice/4.0/guice-4.0-no_aop.jar
[ERROR] urls[11] = file:/Users/crazyCow/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar
[ERROR] urls[12] = file:/Users/crazyCow/.m2/repository/org/codehaus/plexus/plexus-interpolation/1.24/plexus-interpolation-1.24.jar
[ERROR] urls[13] = file:/Users/crazyCow/.m2/repository/org/codehaus/plexus/plexus-component-annotations/1.7.1/plexus-component-annotations-1.7.1.jar
[ERROR] urls[14] = file:/Users/crazyCow/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.4/plexus-sec-dispatcher-1.4.jar
[ERROR] urls[15] = file:/Users/crazyCow/.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar
[ERROR] urls[16] = file:/Users/crazyCow/.m2/repository/org/apache/maven/plugin-tools/maven-plugin-tools-api/3.5/maven-plugin-tools-api-3.5.jar
[ERROR] urls[17] = file:/Users/crazyCow/.m2/repository/backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.jar
[ERROR] urls[18] = file:/Users/crazyCow/.m2/repository/org/apache/maven/shared/maven-artifact-transfer/0.9.1/maven-artifact-transfer-0.9.1.jar
[ERROR] urls[19] = file:/Users/crazyCow/.m2/repository/org/apache/maven/shared/maven-common-artifact-filters/3.0.1/maven-common-artifact-filters-3.0.1.jar
[ERROR] urls[20] = file:/Users/crazyCow/.m2/repository/org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar
[ERROR] urls[21] = file:/Users/crazyCow/.m2/repository/org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar
[ERROR] urls[22] = file:/Users/crazyCow/.m2/repository/commons-codec/commons-codec/1.6/commons-codec-1.6.jar
[ERROR] urls[23] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/jetty-util/9.4.8.v20171121/jetty-util-9.4.8.v20171121.jar
[ERROR] urls[24] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/jetty-webapp/9.4.8.v20171121/jetty-webapp-9.4.8.v20171121.jar
[ERROR] urls[25] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/jetty-xml/9.4.8.v20171121/jetty-xml-9.4.8.v20171121.jar
[ERROR] urls[26] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/jetty-servlet/9.4.8.v20171121/jetty-servlet-9.4.8.v20171121.jar
[ERROR] urls[27] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/jetty-quickstart/9.4.8.v20171121/jetty-quickstart-9.4.8.v20171121.jar
[ERROR] urls[28] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/jetty-jaas/9.4.8.v20171121/jetty-jaas-9.4.8.v20171121.jar
[ERROR] urls[29] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/jetty-security/9.4.8.v20171121/jetty-security-9.4.8.v20171121.jar
[ERROR] urls[30] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/jetty-plus/9.4.8.v20171121/jetty-plus-9.4.8.v20171121.jar
[ERROR] urls[31] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/jetty-jndi/9.4.8.v20171121/jetty-jndi-9.4.8.v20171121.jar
[ERROR] urls[32] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/jetty-server/9.4.8.v20171121/jetty-server-9.4.8.v20171121.jar
[ERROR] urls[33] = file:/Users/crazyCow/.m2/repository/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar
[ERROR] urls[34] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/jetty-http/9.4.8.v20171121/jetty-http-9.4.8.v20171121.jar
[ERROR] urls[35] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/jetty-io/9.4.8.v20171121/jetty-io-9.4.8.v20171121.jar
[ERROR] urls[36] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/jetty-jmx/9.4.8.v20171121/jetty-jmx-9.4.8.v20171121.jar
[ERROR] urls[37] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/jetty-annotations/9.4.8.v20171121/jetty-annotations-9.4.8.v20171121.jar
[ERROR] urls[38] = file:/Users/crazyCow/.m2/repository/javax/annotation/javax.annotation-api/1.2/javax.annotation-api-1.2.jar
[ERROR] urls[39] = file:/Users/crazyCow/.m2/repository/org/ow2/asm/asm/6.0/asm-6.0.jar
[ERROR] urls[40] = file:/Users/crazyCow/.m2/repository/org/ow2/asm/asm-commons/6.0/asm-commons-6.0.jar
[ERROR] urls[41] = file:/Users/crazyCow/.m2/repository/org/ow2/asm/asm-tree/6.0/asm-tree-6.0.jar
[ERROR] urls[42] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/websocket/javax-websocket-server-impl/9.4.8.v20171121/javax-websocket-server-impl-9.4.8.v20171121.jar
[ERROR] urls[43] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/websocket/javax-websocket-client-impl/9.4.8.v20171121/javax-websocket-client-impl-9.4.8.v20171121.jar
[ERROR] urls[44] = file:/Users/crazyCow/.m2/repository/javax/websocket/javax.websocket-client-api/1.0/javax.websocket-client-api-1.0.jar
[ERROR] urls[45] = file:/Users/crazyCow/.m2/repository/javax/websocket/javax.websocket-api/1.0/javax.websocket-api-1.0.jar
[ERROR] urls[46] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/websocket/websocket-server/9.4.8.v20171121/websocket-server-9.4.8.v20171121.jar
[ERROR] urls[47] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/websocket/websocket-common/9.4.8.v20171121/websocket-common-9.4.8.v20171121.jar
[ERROR] urls[48] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/websocket/websocket-api/9.4.8.v20171121/websocket-api-9.4.8.v20171121.jar
[ERROR] urls[49] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/websocket/websocket-client/9.4.8.v20171121/websocket-client-9.4.8.v20171121.jar
[ERROR] urls[50] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/jetty-client/9.4.8.v20171121/jetty-client-9.4.8.v20171121.jar
[ERROR] urls[51] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/websocket/websocket-servlet/9.4.8.v20171121/websocket-servlet-9.4.8.v20171121.jar
[ERROR] urls[52] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/apache-jsp/9.4.8.v20171121/apache-jsp-9.4.8.v20171121.jar
[ERROR] urls[53] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/toolchain/jetty-schemas/3.1/jetty-schemas-3.1.jar
[ERROR] urls[54] = file:/Users/crazyCow/.m2/repository/org/mortbay/jasper/apache-jsp/8.5.23/apache-jsp-8.5.23.jar
[ERROR] urls[55] = file:/Users/crazyCow/.m2/repository/org/mortbay/jasper/apache-el/8.5.23/apache-el-8.5.23.jar
[ERROR] urls[56] = file:/Users/crazyCow/.m2/repository/org/eclipse/jdt/ecj/3.12.3/ecj-3.12.3.jar
[ERROR] urls[57] = file:/Users/crazyCow/.m2/repository/org/eclipse/jetty/apache-jstl/9.4.8.v20171121/apache-jstl-9.4.8.v20171121.jar
[ERROR] urls[58] = file:/Users/crazyCow/.m2/repository/org/apache/taglibs/taglibs-standard-spec/1.2.5/taglibs-standard-spec-1.2.5.jar
[ERROR] urls[59] = file:/Users/crazyCow/.m2/repository/org/apache/taglibs/taglibs-standard-impl/1.2.5/taglibs-standard-impl-1.2.5.jar
[ERROR] urls[60] = file:/Users/crazyCow/.m2/repository/javax/transaction/javax.transaction-api/1.2/javax.transaction-api-1.2.jar
[ERROR] Number of foreign imports: 1
[ERROR] import: Entry[import  from realm ClassRealm[maven.api, parent: null]]
[ERROR] 
[ERROR] -----------------------------------------------------
[ERROR] : org.jboss.resteasy.plugins.guice.ModuleProcessor
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginContainerException

Scope provided means that artifact is not packed within warfile, but is provided by container environment. 提供的范围意味着工件不打包在warfile中,而是由容器环境提供。 Its typically used ie for servlet api. 它通常用于servlet api。 As resteasy originates from jboss, they probably expect you to use their framework in jboss. 由于resteasy源自jboss,因此他们可能希望您在jboss中使用其框架。 Not in jetty. 不在码头。 Hence default scope of the artifact seems to be "provided" - not packed in war. 因此,工件的默认范围似乎是“提供”的-战争中没有包装。

But as you executed it in jetty,which is not jboss so that that it does not provide jboss jars and they are simply not there. 但是当您在不是jboss的码头上执行它时,它就不会提供jboss jars,它们根本就不在那儿。 So your "workaround" was The right thing to do . 因此,您的“解决方法”是正确的做法

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM