gradle 打war 包

build.gradle文件

apply plugin: 'war'    
    
webAppDirName = 'WebRoot'  //设置 WebApp 根目录  
version = ''    
buildDir = 'target'   //war 输出路径 
sourceCompatibility='1.6'    //设置jdk 版本
war{    
    baseName ="PCMS"    //war名称
}    
//定义目录结构    
sourceSets {    
    main {    
        java {    
            srcDirs = ['src/cmes/java']    
        }    
        resources {    
            srcDirs = ['src/cmes/resources','src/plat/resources']    
        }    
    }    
}    
// 设置 maven 库地址  
repositories {   
    maven { url 'http://maven.oschina.net/content/groups/public/' }  
}  

//加载本地依赖    
dependencies {    
    providedCompile fileTree(dir: System.getenv("CATALINA_HOME")+'/lib', include: '*.jar')    
    
    providedCompile fileTree(dir: 'WebRoot/WEB-INF/lib', include: '*.jar')   

	//依赖的jar cargo.jar
    cargo('org.codehaus.cargo:cargo-ant:1.3.1') {
		exclude group: 'xml-apis', module: 'xml-apis'
	}
	cargo 'xml-apis:xml-apis:2.0.2'	
}    
//设置编码    
tasks.withType(Compile) {    
    options.encoding = "UTF-8"    
}    

gradle.properties 设置

//支持中文文件  
systemProp.file.encoding=UTF-8  

gradle 依赖管理:

//声明外部属性
	ext.cargoGroup = 'org.codehaus.cargo'
	ext.cargoVersion = '1.3.1'

	dependencies {
		//使用映射声明依赖
		compile group: cargoGroup, name: 'cargo-core-uberjar',version: cargoVersion
		//用快捷方式来声明,引用了前面定义的外部属性
		cargo "$cargoGroup:cargo-ant:$cargoVersion"
	}

排除传递依赖

dependencies {
		cargo('org.codehaus.cargo:cargo-ant:1.3.1') {
			exclude group: 'xml-apis', module: 'xml-apis'
		}
		cargo 'xml-apis:xml-apis:2.0.2'
	}

exclude属性值和正常的依赖声明不太一样,你只需要声明group和(或)module,Gradle不允许你只排除指定版本的依赖。

有时候仓库中找不到项目依赖的传递依赖,这会导致构建失败,Gradle允许你使用transitive属性来排除所有的传递依赖:

dependencies {
		cargo('org.codehaus.cargo:cargo-ant:1.3.1') {
		transitive = false
		}
		// 选择性的声明一些需要的库
	}

动态版本声明

果你想使用一个依赖的最新版本,你可以使用latest.integration,比如声明 Cargo Ant tasks的最新版本,你可以这样写 org.codehaus.cargo:cargo-ant:latest-integration,你也可以用一个+号来动态的声明:

dependencies {
		//依赖最新的1.x版本
		cargo 'org.codehaus.cargo:cargo-ant:1.+'
	}




猜你喜欢

转载自blog.csdn.net/lxlmycsdnfree/article/details/80198410
今日推荐