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,一点都不少。 <
网友评论