我的gradle构建脚本中有依赖项:
apply plugin 'war'
dependencies {
compile 'com.github.jsimone:webapp-runner:7.0.22'
}
创建战争时,createWebappRunnerJar是否可以通过给定的远程源创建jar?
我正在查看http://www.gradle.org/docs/current/dsl/org.gradle.api.tasks.bundling.Jar.html,但我认为它不适合用于远程来源。
webapp-runner已经内置于战争中,如果它不能从远程来源构建,可能会以某种方式将其从战争中复制出来?
在maven中,以下内容相同:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>com.github.jsimone</groupId>
<artifactId>webapp-runner</artifactId>
<version>7.0.22</version>
<destFileName>webapp-runner.jar</destFileName>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
答案 0 :(得分:1)
您最好的选择是为您打算包含为远程源的依赖项创建单独的配置,然后创建一个复制任务,将该配置复制到您选择的位置。
configurations {
remoteSources {
transitive false
}
}
dependencies {
remoteSources 'com.github.jsimone:webapp-runner:7.0.22'
}
task copyRemoteSources(type: Copy) {
from configurations.remoteSources
into "${project.buildDir}/remoteSources"
}