gradle项目比maven项目流行了-,gradle javadoc

  gradle项目比maven项目流行了?,gradle javadoc

  

目录

1 构建工具的简单介绍2 maven、gradle的简单使用方法2.1 创建专家项目2.2 maven的使用2.3百分度的使用3 总结

 

  

1 构建工具的简单介绍

在代码世界中有三大构建工具、蚂蚁、Maven和格拉德.现在的状况是专家和完整版并存格拉德使用的越来越广泛玛文.使用基于可扩展置标语言的配置格拉德采用了领域特定语言绝妙的的配置。在专家中要引入一个依赖,如下面的例子:

 

  属性卡普查。版本2.3/kaptcha。版本/属性依赖项依赖项groupIdcom.google.code.kaptcha/groupId artifactIdkaptcha/artifactId版本$ { kaptcha。版本}/版本分类器JDK 15依赖项依赖项groupIdorg.springframework/groupId artifact id spring-核心/artifact id/依赖项依赖项groupIdorg.springframework/groupId artifactId spring-beans/artifactId/依赖项依赖项groupIdorg.springframework/groupId artifactId spring-context/artifactId/依赖项依赖项groupId JUnit/groupId artifact id JUnit/artifact id/dependency/dependencies而想要在完整版中达到相同的效果,代码如下:

  依赖{编译( org。弹簧框架:弹簧芯:2。5 .6 )编译( org。弹簧框架:弹簧豆33602。5 .6 )编译( org。spring框架: spring上下文33602。5 .6’)编译(com。谷歌。代码。kaptcha :验证码:2。 JDK 15 )测试编译

  

2 maven、gradle的简单使用方法

 

  

2.1 创建maven项目

想要创建专家项目,首先我们需要搭建专家环境以黯然失色为例来搭建专家环境并创建专家项目

 

  2.1.1 安装黯然失色

  这一步很简单,就不再阐述

  2.1.2 安装专家

  首先进入专家官网,下载玛文,我下载的是3.5

  下载完后,解压到本地磁盘中,我解压到了项目Javaapache-maven-3.5.0。为了方便起见,把专家配置到系统路径中,新建一个名为MAVEN_HOME的系统变量

  然后再在小路中添加%MAVEN_HOME%in

  r">

  2.1.3 配置maven

  maven的默认仓库位置是当前用户工作目录下的.m2/repository,我们将位置换到C盘外的位置。通过修改Maven安装目录下的conf子目录中settings.xml,添加一条下面的语句<localRepository>D:/m2/repository</localRepository>将中间的值替换成你自己的想要存放的位置同时还可以添加中央仓库的镜像在中添加

  

<mirror> <!--This sends everything else to /public --> <id>nexus</id> <mirrorOf>*</mirrorOf> <url>http://maven.aliyun.com/nexus/content/groups/public/</url></mirror><mirror> <!--This is used to direct the public snapshots repo in the profile below over to a different nexus group --> <id>nexus-public-snapshots</id> <mirrorOf>public-snapshots</mirrorOf> <url>http://maven.aliyun.com/nexus/content/repositories/snapshots/</url></mirror>

最后复制一份settings.xml到D:/m2中去,我的仓库是D:/m2/repository,换成你自己的位置

 

  2.1.4 eclipse安装m2eclipse插件

  Eclipse默认不支持Maven。需要给它添加m2eclipse插件。下面是具体的操作步骤。依次选择Eclipse菜单栏的Help菜单Instance NewSoftWare菜单项,就会弹出如下对话窗口:

  

 

  选择Add…按钮,又会弹出如下对话框:

  

 

  这个对话框就是用于添加一个插件地址的。在Name对应的输入框里输入该操作的一个标识名。在Location对应的输入框里输入这个插件的安装地址。注:Maven的Eclipse插件地址为:http://download.eclipse.org/technology/m2e/releases。输入后,如下图所示:

  

 

  输入完成后,点击右下角的OK按钮,就会弹出如下对话框:

  

 

  这里需要选择想要安装的插件的详细内容。选中Maven Integration for Eclipse前面的复选框。如下图所示:

  

 

  选择完成后,点击右下方的Next>按钮进行安装。安装成功后,会提示需要重启Eclipse来生效这次配置。重启之后,这个Eclipse就可以使用m2eclipse插件功能了。

  2.1.5 m2eclipse插件设置

  依次选择Eclipse菜单栏的的WindowPreferences菜单项,就会弹出如下对话框:

  

 

  在这个对话框左边的导航栏中展开Maven目录结点,并选择Installations子节点,通过Add来添加maven。如下图所示:

  

 

  设置自定义的本地仓库,选择如上图对话窗口左边菜单树 Maven节点下的UserSettings子节点,修改Global Settings以及User Settings如下图所示:

  

 

  2.1.6 创建maven项目

  m2eclispe插件中默认提供了一些Maven样板项目,可以使用这些样板来创建符合我们要求的项目。具体操作如下步骤:在eclipse菜单栏中选择FileNewsOther菜单项,就会打开如下对话窗口,在窗口中选择Maven节点下Maven Project条目,如下图所示:

  

 

  点击Next>按钮,进入如下窗口:

  

 

  再次选择Next >按钮,进入如下窗口:

  

 

  在这个窗口中选择maven-archetype-webapp来创建一个Maven的web项目,再选择Next>按钮,进入如下图窗口:

  

 

  在上图窗口的Group Id中输入项目的基本包名,在Artifact Id中输入项目名,其它输入框不用理会。点击Finish按钮来完成项目的整个创建过程。创建完成后的maven的web项目,可以转化成正常的javaweb工程。 教你如何用Eclipse创建一个Maven项目

  

 

  

2.2 maven的使用

2.2.1 maven简述

 

  maven的配置核心是.pom(Project Object Model)文件,其中包含了项目的基本信息、构建工程、环境信息、依赖信息等。以下面的代码为例

  

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.vs</groupId> <artifactId>com.vs.maven.gradle</artifactId> <version>1.0</version> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.2.6.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa </artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.25</version> </dependency> </dependencies> <properties> <java.version>1.8</java.version> </properties> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build></project>

这个例子构建了一个简单的spring-boot项目,最开始定义了一些项目的基本信息,包括组名、制品名、版本等。arent标签表示我们继承了一个spring定义的一个制品的配置,这样我们不需要配置很多依赖的版本就可以引入依赖。dependencies标签间配置该项目所依赖的其他制品,分别配置每个依赖制品的groupId, artifactId和version。当我们执行mvn insall时,maven就会自动下载依赖,并帮我们将它编译打包放入本地仓库之中。我们就可以在用户目录下的.m2文件夹中找到我们的制品。

 

  2.2.2 maven构建生命周期管理

  除了依赖管理以外,构建工具的另一个主要用途就是构建的生命周期管理。Maven有三个生命周期,每个生命周期又分为多个阶段:- Clean:包含3个阶段,与清理上次构建生成的文件相关- Default:Maven的核心生命周期,包含多个阶段如预处理、编译、测试、打包、安装到本地仓库、发布到远程仓库等。- Site: 包含4个阶段,与生成项目报告,站点,发布站点相关。这些生命周期都是系统自定义好的,如果我们需要修改现有的构建生命周期的话,我们就要编写一个Maven插件。因为Maven是通过插件发来完成大多数的构建任务。每个插件可以绑定一个生命周期。配置好绑定生命周期后,我们需要定义插件的任务,在Maven中每个任务的goal称作Mojo,每个Mojo我们都需要实现org.apache.maven.plugin.Mojo接口。也就是我们需要定义一个类来实现这个接口。使用时我们需要引入这个插件,并配置需要执行的goal。比如我们要完成输入Hello world这个需求,我们需要:- 1新建GreeingMoji类

  

package sample.plugin;import org.apache.maven.plugin.AbstractMojo;import org.apache.maven.plugin.MojoExecutionException;import org.apache.maven.plugins.annotations.Mojo;/** * Says "Hi" to the user. * */@Mojo( name = "sayhi")public class GreetingMojo extends AbstractMojo{ public void execute() throws MojoExecutionException { getLog().info( "Hello, world." ); }}

-2 定义pom文件

 

  

<project> <modelVersion>4.0.0</modelVersion> <groupId>sample.plugin</groupId> <artifactId>hello-maven-plugin</artifactId> <version>1.0-SNAPSHOT</version> <packaging>maven-plugin</packaging> <name>Sample Parameter-less Maven Plugin</name> <dependencies> <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-plugin-api</artifactId> <version>2.0</version> </dependency> <!-- dependencies to annotations --> <dependency> <groupId>org.apache.maven.plugin-tools</groupId> <artifactId>maven-plugin-annotations</artifactId> <version>3.4</version> <scope>provided</scope> </dependency> </dependencies></project>

-3 在项目pom文件目录运行install命令将插件安装到本地仓库-4 在使用插件的项目中加入配置

 

  

 <build> <plugins> <plugin> <groupId>sample.plugin</groupId> <artifactId>hello-maven-plugin</artifactId> <version>1.0-SNAPSHOT</version> </plugin> </plugins> </build>

-5 执行,即可完成Hello,world的输出

 

  

mvn groupId:artifactId:version:goal

制品发布Maven要发布制品,只需要配置远程仓库的参数:

 

  

 <distributionManagement> <repository> <id>internal</id> <name>Internal Release Repository</name> <url>http://repository.springsource.com/maven/bundles/release</url> </repository> </distributionManagement>

 

  

2.3 gradle的使用

2.3.1 gradle简述

 

  Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。面向Java应用为主。当前其支持的语言限于Java、Groovy和Scala,计划未来将支持更多的语言。

  2.3.2 gradle引用第三方类库

  以android studio为例,使用gradle引用第三方library类库在android studio中,不需要额外添加或者下载插件,创建一个android项目后,在项目中会创建两个build.gradle文件,分别属于本工程和本Module。我们要使用哪个第三方的库,就在属于module下的build.gradle中添加相应的依赖,一般是几行语句。你不需要手动去下载、导入它们 。gradle的依赖管理能力极其强大,几乎所有的开源项目都可以简单的通过一条compile指令完成依赖的配置,比如在我的项目中用到了umeng分析,volley,googleprogressbar……,我的dependencies如下:

  

dependencies { compile fileTree(dir: libs, include: [*.jar]) compile com.android.support:appcompat-v7:21.0.2 compile com.jpardogo.flabbylistview:library:+ compile com.jpardogo.googleprogressbar:library:+ compile com.mcxiaoke.volley:library:1.0.+ compile com.jakewharton:butterknife:6.0.0 compile com.umeng.analytics:analytics:5.2.4}

一般github上的项目都会提供一条类似的指令,你可以在你的项目的build.gradle的dependencies块中添加就ok,这样在你运行gradle脚本时,gradle会自己完成依赖的下载,依赖添加。

 

  2.3.3 gradle入门教程

  Gradle学习系列之一——Gradle快速入门

  

 

  

3 总结

总的来说,gradle相比于maven有很打的灵活性,目前gradle的使用者越来越多。而由于maven之前处于主流,并且在某些方面maven较gradle还有一些优点,所以maven和gradle并存。在github上大多数优秀的开源项目会同时提供maven和gradle两种添加依赖的方式。

 

  引用资料:1.使用Eclipse构建Maven项目 (step-by-step)2.Java构建工具:Maven与Gradle的对比3.Maven和Gradle对比4.gradle百度百科

  到此这篇关于Java中的maven和gradle的比较与使用的文章就介绍到这了,更多相关maven和gradle的比较与使用内容请搜索盛行IT以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: