【发布时间】:2018-05-19 00:15:04
【问题描述】:
我对其中一个 jar 有依赖关系,并且我已将其标记为 pom xml 中提供的内容。似乎只有一些传递依赖项 jar 被标记为已提供并且未与 war 打包,但其他的仍然是编译范围并与 war libs 打包。我是否需要明确地将范围标记为为所有传递依赖项提供。
pom xml 中的依赖关系:
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-ftp</artifactId>
<scope>provided</scope>
</dependency>
依赖树:
[INFO] +- org.apache.camel:camel-ftp:jar:2.17.0.redhat-630262:provided
[INFO] | +- com.jcraft:jsch:jar:0.1.54:provided
[INFO] | +- commons-net:commons-net:jar:3.3.0.redhat-3:provided
[INFO] | +- com.sun.xml.bind:jaxb-core:jar:2.2.11:compile
[INFO] | \- com.sun.xml.bind:jaxb-impl:jar:2.2.11.redhat-2:compile
[INFO] +- org.apache.camel:camel-csv:jar:2.17.0.redhat-630262:provided
插件版本详情:
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<cdi.api.version>1.2.0.redhat-2</cdi.api.version>
<javax.inject.version>1.0.0.redhat-6</javax.inject.version>
<sonar.host.url>http://vfrde2srta0401.agcs.biz:9000</sonar.host.url>
<xerces.version>2.11.0-22</xerces.version>
<xmlunit.version>1.6</xmlunit.version>
<maven.compilerplugin.version>3.7.0</maven.compilerplugin.version>
<maven.releaseplugin.version>2.5.3</maven.releaseplugin.version>
<maven.warplugin.version>3.2.0</maven.warplugin.version>
<maven.jarplugin.version>3.0.2</maven.jarplugin.version>
<maven.surefireplugin.version>2.20.1</maven.surefireplugin.version>
<maven.coberturaplugin.version>2.7</maven.coberturaplugin.version>
【问题讨论】:
-
什么是maven版本?你在使用 maven-war-plugin 吗?
-
maven 3.5,是的,我知道在war插件中指定配置
WEB-INF/lib/*.jar 不会打包所有依赖项,但我只是想了解如何范围由传递依赖决定。 -
您使用哪个版本的 maven-dependency-plugin?
-
用插件版本详细信息更新了我的帖子。我对所有插件都使用了最新版本
标签: maven