Gradle为应用开发提供了两个相关的插件:war plugin以及jetty plugin
war plugin继承了java plugin为你的工程构建war包,jetty pugin继承了war
plugin可以让的工程构建在嵌入式容器jetty中
构建War文件
首先在你的build.gradle中添加如下一行
apply plugin: ‘war‘
由于war plugin继承了java plugin,所有java plugin也会被默认的加入配置文件中
运行gradle
build命令可以为你工程进行编译,测试以及打war包,Gradle会将你在工程src/main/webapp下的资源文件也一并打入war包中,你的编译代码和他们运行时的依赖同样会被打入jar包中
运行web工程
首先在你的build.gradle中添加如下一行
apply plugin: ‘jetty‘
由于jetty plugin继承了war plugin,所有war plugin也会被默认的加入配置文件中
运行gradle jettyRun命令,你的web工程就会在Jetty容器中被运行,运行gradle
jettyRunWar命令会构建war包,然后将构建好的war在jetty容器中运行
在配置文件中加入下列命令可以设置Jetty的属性
httpPort = 8080 //http访问端口 默认8080
stopPort = 9451 //jetty监听来自admin请求的端口 默认无
stopKey = ‘foo‘ //停止jetty服务器默认键 默认无
War Plugin
War Plugin在继承Java plugin的继承上增加了打war文件的支持,它会将Java
Plugin中的默认构建JAR文件的功能替换为为构建WAR文件。
相比于Java Plugin,War Plugin增加了如下一个Task
可以看到首先gradle回去处理对应的资源,然后对工程代码进行编译,最后进行打war包的操作,命令执行成功之后我们可以看见在build.gradle的同级目录下会出现一个名为build的文件夹
点进去之后可以发现如下的目录结构
classes文件夹下存放的是编译后的字节码文件,在libs目录下存放的就是打出的war包了,在resources目录下存放的是工程的资源文件。
假如你需要将你工程一些信息进行归档那么你可以使用gradle assemble命令,task
assemble是依赖于task war的。
如果你需要定制化打包信息,比如你的工程的classpath与gradle默认的不同那么你可以重写war task:
1
2
3
4
5
6
7 |
war {
from
‘src/rootContent‘
webInf { from ‘src/additionalWebInf‘ }
classpath fileTree( ‘additionalLibs‘ )
webXml = file( ‘src/someWeb.xml‘ )
}
|
Gradle学习(四) web工程构建,布布扣,bubuko.com
Gradle学习(四) web工程构建
原文:http://www.cnblogs.com/getto/p/3764244.html