一份IDEA + gradle + spring專案的build.gradle清單
阿新 • • 發佈:2019-01-06
group 'com.superserver'
version '1.0-SNAPSHOT'
// 應用Gradle各外掛
apply plugin: 'java'
apply plugin: 'war' // war包生產外掛
apply plugin: 'idea'
apply plugin: 'org.akhikhl.gretty' // 應用gretty外掛
version = "" // 專案版本
//Gretty Embedded Jetty
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'org.akhikhl.gretty:gretty:+'
}
}
// 指定JDK版本
sourceCompatibility = 1.8
targetCompatibility = 1.8
ext {
jvmVersion = "1.8"
springVersion = "4.0.6.RELEASE"
sl4jVersion = "1.7.6"
}
repositories {
// maven庫
def cn = "http://maven.oschina.net/content/groups/public/"
def abroad = "http://central.maven.org/maven2/"
// 先從url中下載jar若沒有找到,則在artifactUrls 中尋找
maven {
url cn
artifactUrls abroad
}
}
[compileJava, compileTestJava, javadoc]*.options*.encoding = "UTF-8"
dependencies {
def springVersion = "4.0.6.RELEASE"
def hibernateVer = "4.3.6.Final"
// providedCompile在編譯時提供,不會寫入war
providedCompile(
"javax.servlet:javax.servlet-api:3.1.0" ,
"javax.servlet.jsp:jsp-api:2.2.1-b03"
)
// 引入專案中/libs中的jar
compile files( 'libs/spring-framework-bom-4.0.6.RELEASE.jar')
compile("org.apache.taglibs:taglibs-standard-impl:1.2.1")
// aspectjtools-1.6.11是測可試用版本,使用其他版本會報"dataSource無法注入"的Exception
compile("javax:javaee-api:7.0",
"javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api:1.2.1",
"org.aspectj:aspectjtools:1.6.11",
"antlr:antlr:2.7.7",
"org.aspectj:aspectjrt:1.6.11",
"org.aspectj:aspectjmatcher:1.6.11")
compile("org.apache.commons:com.springsource.org.apache.commons.fileupload:1.2.1",
"commons-codec:commons-codec:1.6",
"commons-collections:commons-collections:3.2.1",
"commons-lang:commons-lang:2.6",
"commons-logging:commons-logging:1.2",
"commons-pool:commons-pool:1.5.5",
"org.apache.commons:commons-lang3:3.1")
// 資料庫連線部分依賴
compile("mysql:mysql-connector-java:5.1.36")
compile("com.mchange:mchange-commons-java:0.2.3.4",
"redis.clients:jedis:2.0.0",
"net.sf.ehcache:ehcache-core:2.4.3")
compile("org.hibernate:hibernate-c3p0:$hibernateVer",
"org.hibernate:hibernate-core:$hibernateVer",
"org.hibernate:hibernate-entitymanager:$hibernateVer",
"org.hibernate:hibernate-ehcache:$hibernateVer",
"org.hibernate.common:hibernate-commons-annotations:4.0.5.Final")
// Spring4.0.6依賴
compile("org.springframework:spring-aop:$springVersion",
"org.springframework:spring-orm:$springVersion",
"org.springframework:spring-jdbc:$springVersion",
"org.springframework:spring-instrument-tomcat:$springVersion",
"org.springframework:spring-instrument:$springVersion",
"org.springframework:spring-framework-bom:$springVersion",
"org.springframework:spring-expression:$springVersion",
"org.springframework:spring-core:$springVersion",
"org.springframework:spring-context-support:$springVersion",
"org.springframework:spring-context:$springVersion",
"org.springframework:spring-beans:$springVersion",
"org.springframework:spring-aspects:$springVersion",
"org.springframework:spring-test:$springVersion",
"org.springframework:spring-tx:$springVersion",
"org.springframework:spring-web:$springVersion",
"org.springframework:spring-webmvc:$springVersion",
"org.springframework:spring-webmvc-portlet:$springVersion")
// json相關依賴
compile("com.alibaba:fastjson:1.2.7",
"com.jayway.jsonpath:json-path:0.8.1",
"net.minidev:json-smart:1.1.1",
"org.jsoup:jsoup:1.7.2")
compile("org.codehaus.jackson:jackson-core-asl:1.9.2","org.codehaus.jackson:jackson-mapper-asl:1.9.2")
compile("org.dom4j:com.springsource.org.dom4j:1.6.1")
compile("com.google.guava:guava:17.0")
// 測試編譯時的依賴
testCompile("org.assertj:assertj-core:1.5.0",
"org.hamcrest:hamcrest-core:1.3",
"junit:junit:4.11")
}
// gretty相關配置
gretty {
port = 8080
contextPath = "/${project.name}"
servletContainer = 'jetty9' // or tomcat7
}
// 部署war到tomcat的Task
task deploy (dependsOn: war){
copy {
from "build/libs"
into "F:/software/tomcat7/webapps" // 換成你的tomcat目錄
include "*.war"
}
}