给定一个要作为JAR发布的Gradle Web项目(以便它可以是另一个具有不同发布周期的Gradle Web项目的依赖项).
该maven-publish插件用于:
apply plugin: 'war'
apply plugin: 'maven'
apply plugin: 'maven-publish'
Run Code Online (Sandbox Code Playgroud)
Web项目具有providedCompile依赖性:
providedCompile 'javax.servlet:javax.servlet-api:3.0.1'
Run Code Online (Sandbox Code Playgroud)
'jar'使用mavenJava以下方式发布:
publishing {
publications {
// mavenJava publishes a jar file
mavenJava(MavenPublication) {
from components.java
}
}
repositories {
mavenLocal()
}
}
Run Code Online (Sandbox Code Playgroud)
问题是在结果Maven POM 中javax.servlet-api有一个runtime范围:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>runtime</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
运行时范围对servlet-api毫无意义,甚至是有害的.如何provided在pom.xml中设置范围?