Maven
Maven 作為傳統的構建工具,在現在的JavaWeb項目中大規模地使用
Maven的優勢在于基礎的龐大,很多的庫仍僅提供Maven支持,并沒有gradle的支持,如果想用gradle又想用那個庫的話就只能自己導包了
然而Maven代碼的過于繁雜也讓我很頭疼,而且作為一個安卓程序員,內心深處的情感上來講還是更偏向于使用gradle的
Gradle
Gradle 是一個新興的構建工具,以groovy為基礎。這是他的優勢也是劣勢。
groovy因為各種意義上來說還是一個新的語言,所以使用一個構建工具居然還要去學一門新的語言,這是讓很多程序員無法接受的一件事情。
但不可否認,groovy帶來了極大的便利,Maven中三四行代碼才能實現的東西在gradle中僅需要一句 import
引用知乎上的一個回答
作者:EZLippi
鏈接:https://www.zhihu.com/question/29338218/answer/51293828
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
比如在Maven中你要引入一個依賴:
<properties>
<kaptcha.version>2.3</kaptcha.version>
</properties>
<dependencies>
<dependency>
<groupId>com.google.code.kaptcha</groupId>
<artifactId>kaptcha</artifactId>
<version>${kaptcha.version}</version>
<classifier>jdk15</classifier>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
</dependencies>
然后我將其轉換成Gradle腳本,結果是驚人的:
dependencies {
compile('org.springframework:spring-core:2.5.6')
compile('org.springframework:spring-beans:2.5.6')
compile('org.springframework:spring-context:2.5.6')
compile('com.google.code.kaptcha:kaptcha:2.3:jdk15')
testCompile('junit:junit:4.7')
}
注意配置從原來的28行縮減至7行!這還不算我省略的一些父POM配置。依賴的groupId、artifactId、 version,scope甚至是classfier,一點都不少。 <