【发布时间】:2014-10-01 19:25:17
【问题描述】:
给定一个将作为 JAR 发布的 Gradle Web 项目(这样它就可以成为另一个具有不同发布周期的 Gradle Web 项目的依赖项)。
使用了maven-publish插件:
apply plugin: 'war'
apply plugin: 'maven'
apply plugin: 'maven-publish'
web 项目有一个providedCompile 依赖:
providedCompile 'javax.servlet:javax.servlet-api:3.0.1'
使用mavenJava 发布jar:
publishing {
publications {
// mavenJava publishes a jar file
mavenJava(MavenPublication) {
from components.java
}
}
repositories {
mavenLocal()
}
}
问题是 javax.servlet-api 在生成的 Maven POM 中有一个 runtime 范围:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>runtime</scope>
</dependency>
运行时范围对 servlet-api 没有意义,它甚至是有害的。 pom.xml中的范围如何设置为provided?
【问题讨论】: