gradle的war插件

本文深入解析如何使用Gradle构建War包,包括配置文件的正确存放方式和Gradle脚本的关键部分,旨在帮助开发者更高效地部署应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

war可以将开发的应用打包成部署包.最常见的打包方法:
a.将开发的源目录src/main/java的文件打包成一个jar包,然后放入WEB-INF/lib目录下面.
b.不要将配置文件打包到jar里面,是为了方便随时修改配置.src/main/resources下面放的开发环境的配置文件不要打包到jar里面,也不要打包到war里面.
而是将src/main/servRes下面的生产配置文件打包到WEB-INF/classes下面.

下文是一个使用war插件的例子:

1.build.gradle

apply plugin:"war"
targetCompatibility = 1.7
version = "1.0"
ext {
    springVersion = "3.2.8.RELEASE"
    hibernateVersion="4.3.1.Final"
}
repositories{
	mavenCentral()
}
[compileJava,compileTestJava,javadoc]*.options*.encoding = "UTF-8"
dependencies{
    compile "org.springframework:spring-webmvc:$springVersion"
    compile "org.springframework.data:spring-data-jpa:1.5.2.RELEASE"
    compile "org.springframework:spring-orm:$springVersion"
    compile "org.springframework:spring-tx:$springVersion"
    compile "org.hibernate:hibernate-entitymanager:$hibernateVersion"
    compile "c3p0:c3p0:0.9.1.2"
    compile "mysql:mysql-connector-java:5.1.26"
    compile "com.fasterxml.jackson.core:jackson-databind:2.3.1"
    compile "commons-fileupload:commons-fileupload:1.3.1"
    providedCompile "javax.servlet:javax.servlet-api:3.1.0"
    providedCompile "javax.servlet.jsp:jsp-api:2.2.1-b03"
    providedCompile "javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api:1.2.1"
    compile "org.apache.taglibs:taglibs-standard-impl:1.2.1"
    testCompile "org.springframework:spring-test:$springVersion"
    testCompile "junit:junit:4.11"
}
/*将src/main/java编译的class打包成${project.name}-${version}.jar放入到build/libs目录下,配置文件没必要打包*/
task jarWithoutResources(type: Jar) {
    baseName project.name
    from("$buildDir/classes/main")
}
/*1.将$projectDir/resources下的配置文件(生产上的配置文件)拷贝到WEB-INF/classes目录,不打包是为了方便修改配置*/
/*2.将sourceSet.main下面编译的文件和资源文件剔除:*/
//classpath=classpath - files("$buildDir/classes/main")
//classpath=classpath - files("$buildDir/resources/main")
/*3.将前一步打包的jar文件放入WEB-INF/lib目录下*/
war{
    dependsOn jarWithoutResources
    from("$projectDir/src/main/servRes") {
        include "*.properties"
        into("WEB-INF/classes")
    }
    classpath=classpath - sourceSets.main.output
    classpath fileTree(dir:libsDir, include:"${project.name}-${version}.jar")
}
2.导入当前这个gradle项目到IDEA去开发.
3.启动测试:
双击gradle面板上的clean任务就可以清理当前项目,再双击war任务就可以进行打包了.转到build/libs看成果吧.
源码: http://download.youkuaiyun.com/detail/xiejx618/7696821



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值