这里再次说一下为什么我们需要熟悉Gradle构建工具,主要原因就是很多开源项目现在都在改用Gradle作为构建工具。一部分的github上的示例代码也在用Gradle构建,如果还是只能用maven,那么很多好的项目都只能用肉眼看,不能真正的调试起来,更精细的去看运行时的状态,对于理解代码的思想还是有不小障碍的。

比如说,我要看spring源代码,结果我都不能放到我的eclipse里面,要知道函数之间的调用关系都十分困难。再比如说,我要了解spring-data-redis的用户,官网上就说了个支离破碎的大概,然后给了我一个github的项目地址,让我自己去看,可是下载下来之后,瞎了,人家用的是gradle,我都不知道怎么搞到我熟悉的eclipse里面,岂不是很心碎。

好了,这一节,我们将要把gradle提供的示例web项目放到eclipse里面,然后还能够像我们往常tomcat调试一样的去调试代码。

Gradle插件2号

由于换了新电脑,这次装的时候用了另外一个gradle的eclipse插件,Gradle Integration for Eclipse.

这个插件可以直接在“Eclipse”–>“Help”–>“Eclipse Marketplace”里面搜索Gradle,第一个就是。buildship也在里面可以找到。

为什么,第一节我们介绍的是buildship而不是这个插件,因为buildship是eclipse官方提供的,而且提供了任务列表栏,要运行那个task直接选就可以了,今天的这个家伙选起来相对就比较麻烦了(接下来,就会看到)。

安装插件

在搜索结果中,点install按钮,安装就可以了,具体的安装过程,这里就不说了。

安装完之后,我们的eclipse里面就多了gradle这么个选项。

用git下载gradle示例项目

接下来我们要把git上的这个项目下载到本地来。如果你对eclipse git很熟悉,可以跳过这里。

在浏览器打开项目地址:https://github.com/rominirani/GradleWebAppSample

点箭头指向的按钮,复制资源库链接地址。

回到eclipse,在“Window”–>”Show View”–>”Others”–>”Git”选择里面的“Git Respositroies”.

点击图中箭头指向的图标(复制git资源库)。在对话框里面的URI一栏,粘贴上边在浏览器中复制的资源库链接地址。除了用户名密码之外的内容会自动填充,用户名是你在github网站上注册的用户名。 

点击Next,选择要下载到本地的分支。 

点Next,选择本地保存的地址,和初始化分支。(我这里是因为已经下载过,所以显示本地目录不为空) 

点击完成,就可以看到下载过程,下载完成之后,可以在Git Repositroies栏里看到资源库了。Work Directroy就是项目在你本机存放的位置。 

导入项目到eclipse

在Project Explorer里面空白处右键点击,选择Import看到里面的Gradle Project没有,哈哈。。。 

下一步,分别选择Browse选中本地目录,和BuildModel创建相关的项目文件。 

如果你在Build Model过程中,一直卡在下载gradle-bin.zip的地方,那么你可以翻回到第一节,参照第一节的方式安装gradle到本地。

以下是build model之后的结果 

选中项目后,点击finish即可。GradleWebAppSample、utils、web三个项目。 

编译生成war文件

这里GradleWebAppSample是主项目,其中包含了utils和web两个子项目。

在GradleWebAppSample项目上右键,选择run as …–>gradle build…打开gradle任务执行选择.输入assemble,这里输入a后会有自动提示。点击run即可。 

看到执行顺序了吧,gradle会按着依赖顺序逐个打包子项目 

打包后的war包在哪了呢??我们分别进入到utils和web项目的build/libs目录下,这里分别有一个utils.jar和一个web.war,你也可以解压开web.war看一下,utils.jar已经在WEB-INF/lib中了。 

怎么直接在eclipse里面调试

像普通的web项目一样,我们在server栏里面的Tomcat上右键,选择Add and Remove…

怎么了?没有我们的项目,居然没有我们的项目,这调试个mao。。。 

这里首先要用一下gradle提供的eclipse-wtp插件,我们在web项目的build.gradle文件里面添加上对这个插件的引用。 

继续…在web项目上右键,选择Gradle–>Refresh All.看我们的web项目多了什么??部署描述符!!!! 
 
然后在server栏再Add and Remove…一下,等待已久的web项目终于出现了!!! 

运行web项目

我们把web项目加入到tomcat服务后,启动tomcat。 
没有错误,成功启动。 

快在浏览器里面访问一下接口试试…. 

DateUtils is invalid,这个类是utils项目里面的,怎么无效了呢,赶紧看一下我们tomcat运行起来的目录吧。(在console栏里面找到信息: Command line argument: -Dcatalina.base=/Develop/Workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0)

居然lib里面没有utils.jar,gradle歇菜啊,为什么没有自动拷贝过来呢!!!!!

怨天尤人不是好汉,这个地方在网上我也没有找到所谓的最佳实战,但是我想到了lifetragedy在架构师系列里面说到的Deployment Assembly的作用,方法也就有了。

在web项目上右键,选择build path—>configure build path…–>Deployment Assembly。“cannot find entry utils” 

自己添加一个部署映射

点击Add,选择Archives from system 

Add上utils项目里面build出来的jar包地址 

添好之后点击ok。 

启动tomcat,在浏览器里面在访问试一下,恶,ClassNotFoundException,是utils依赖的包没有自动带过来,我们如法炮制,把joda-time-2.4.jar加过来,或者放到gradle.build的依赖中均可。

再次运行tomcat,在浏览器中访问。看到下面的文字,代表我们成功了。 

以后,我们至少可以在eclipse里面直接跑很多gradle构建的开源代码了!!

以下是gradle官方对这个示例项目的说明文档:http://rominirani.com/2014/08/12/gradle-tutorial-part-4-java-web-applications/

从一个多项目Web工程看Eclipse如何导入Gradle项目的更多相关文章

  1. Eclipse新建/导入Gradle项目

    一.新建 1.[New]->[Project] 二.导入 1.[Import] 2. 参考: http://www.vogella.com/tutorials/EclipseGradle/art ...

  2. Myeclipse的web工程和Eclipse互相转换

    eclipse的web工程转myeclipse的web工程1.原eclipse工程叫netschool 2.在myeclipse中新建一个工程叫netschool 并在新建的时修改 web root ...

  3. 2.1 一个简单的Web工程例子

    一个简单的Web工程例子 开发环境: Eclipse: Neon Release (4.6.0) JDK:1.8.0_92 Tomcat:8.5.9 Maven:3.3.9 1. 在Eclipse中创 ...

  4. IntelliJ IDEA 15 部署Tomcat及创建一个简单的Web工程

    一.部署Tomcat 二.创建一个简单的Web工程 2.1创建一个新工程 创建一个新工程 设置JDK及选择Web Application (创建的是Web工程) 点击Next,选择工作空间,起个工程名 ...

  5. eclipse怎么导入maven项目 eclipse导入maven项目详细教程

    转自:http://www.pc6.com/infoview/Article_114542.html Eclipse怎么导入maven项目一直是困扰着大量程序猿和刚上手小白们的问题,使用eclipse ...

  6. Eclipse如何导入maven项目,以及配置maven

    Eclipse如何导入maven项目,以及配置maven 一.准备工作 1. eclipse,安装了eclipse 2. 一个需要导入的maven项目 3. 下载好了的压缩包apache-maven- ...

  7. ④---在Eclipse中导入GIT项目

    Eclipse中导入GIT项目 以下将为大家介绍如何在Eclipse中导入GIT项目. 一.在Eclipse中安装GIT 1首先打开Eclipse,然后点击Help>Install New So ...

  8. 解决Eclipse导入Gradle项目时在 Building gradle project info 一直卡住

    问题描述 在使用 Eclipse 导入 Gradle 项目时一直卡住,不能导入项目 问题解决   解决办法主要有两种:一是直接下载 gradle 离线包,二是修改项目的 ..\gradle\wrapp ...

  9. 导入gradle项目

    1.1 代码下载 将代码下载到本机具体位置: 根据svn地址用外部svn工具导入项目到本地一个目录 比如 d:/a 1.2 导入工程 1.2.1 导入gradle工具 1.2.2 选择代码路径 1.2 ...

随机推荐

  1. redis live 如何安装

    在 windows 环境下安装 redislive   这是一篇在 windows 环境下安装 redislive 的教程! 项目地址:https://github.com/nkrode/RedisL ...

  2. 用CSS3实现文字描边效果【效果在这儿,创意在你!】

    CSS3作为新兴的前端技术可以实现很多复杂变化的效果,比如文字描边. 这里主要用到text-shadow属性,顾名思义就是为文字加上阴影效果.例: text-shadow:10px 5px 2px # ...

  3. Windows上建立、取消共享文件夹

    建立共享文件夹 1.创建一个文件夹test 2.右键属性,点击共享 4.在另外一台机器上访问该共享文件 取消共享文件夹 右键属性,点击高级共享

  4. strcpy、strncpy、memcpy的区别

    一.strcpy.strncpy区别 struct gpInfo { char gpcode[9]; char gpName[50]; }; string gpstr = "SZ000001 ...

  5. page指令属性简要介绍:

    page指令属性简要介绍: language=”java” 声明脚本语言的种类,暂时只能用”java” extends=”package.class” 标明JSP编译时需要加入的Java Class的 ...

  6. linux -- Ubuntu下安装和配置Apache2

    在Ubuntu中安装apache 安装指令:sudo apt-get install apache2 启动和停止apache的文件是:/etc/init.d/apache2 启动命令:sudo apa ...

  7. 基于mvcpager的分页(get请求,刷新页面),提供两种样式(来自bootstrap的样式)

    使用方法:先把mvcpager.dll引用加入mvc项目 下载路径在本文末尾 前台代码 前台: @{ Layout = null; } @using Webdiyer.WebControls.Mvc ...

  8. 获取pc硬件信息杂记

    //Download by http://www.NewXing.com #include "StdAfx.h" #include "RegUtil.h" #i ...

  9. mysql 启动报错--发现系统错误2,系统找不到指定的文件。

    解决方法: 控制面板--找到mysql程序--修复

  10. VC++ 操作Windows快捷方式

    声明:本文是参考网友博文,然后自己实践整理所得,转载请注明出处! Windows的快捷方式实际上是一个带有扩展名LNK的数据文件,其中包含有用于访问Windows某一对象(即在资源管理器中所能浏览的所 ...