作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下 Maven 项目结构:
子项目B
<- jar子项目C
<- war 子项目D
<- war sub-projectC
和 sub-projectD
需要有 sub-projectB
作为依赖项。但是 sub-projectC
和 sub-projectD
构建的 war 不应包含 sub-projectB
的依赖项。该 jar 稍后将单独包含在类路径中(这是因为 sub-projectB
是 >100MB 的大 jar,并且将其与 war 打包在大小和复制所需的时间方面都将非常昂贵 war 在部署期间从一个地点转移到另一个地点)。
如何从sub-projectC
和sub-projectD
的war包中排除sub-projectB
的依赖?
一种方法是排除 maven-war-plugin
中的 jar 列表。但我们必须指定每个 jar 名称或使用通配符。我们不能直接排除子模块的依赖关系。有没有更简单的方法?
最佳答案
这正是范围 provided
的范围是为了.具有此范围的每个依赖项都将在编译时使用,但不会包含在最终的 war 中(因为它是由运行时容器提供的)。
因此,对 sub-projectB
的依赖应该是在 sub-projectC
和 sub-projectD
pom 中:
<dependency>
<groupId>...</groupId>
<artifactId>sub-projectB</artifactId>
<version>...</version>
<scope>provided</scope>
</dependency>
关于java - maven - 如何从 war 中排除整个模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32967739/
我是一名优秀的程序员,十分优秀!