##概述
上一节,我们说了Eclipse如何安装Gradle的插件,以达到对Gradle的支持。

这里再次说一下为什么我们需要熟悉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/

~~~~~~~~~~~~~~~~~~~~~~~~~ 福利分割线~~~~~~~~~~~~~~~~~~~~~~~~~~~
-长期内推-:头条、快手、美团、阿里、陌陌、当当。有需要的朋友可以发邮件到我的邮箱xiaofan860412@163.com。

从一个多项目Web工程看Eclipse如何导入Gradle项目相关推荐

  1. idea导入gradle项目时遇到的坑

    idea导入gradle项目时遇到的坑 1.安装好gradle后配置idea 2.项目结构中也需要配置 3.导入gradle项目,选择build.gradle文件,点击ok 4.配置hosts文件,将 ...

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

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

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

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

  4. Eclipse中导入Maven项目后没有run on server

    场景 在Eclipse中导入Maven项目后,想要运行时,却没有run on server 解决 右击项目--properties--project facets--勾选Dynamic Web Mod ...

  5. Eclipse中导入Java项目出现“No projects are found to import”

    如图所示: , 这其实是你的项目中缺少了两个文件:.classpath文件和 .project文件 所以eclipse找不到你的项目了. 解决办法: 在你的Eclipse中再新建一个新的项目,项目的类 ...

  6. Android开发学习:在Eclipse中导入Android项目方法

    在Eclipse中导入Android项目方法的具体步骤如下: 1.启动Eclipse,依次选择File---Import,如下图所示: 2.在弹出的Import窗口中选择Existing Projec ...

  7. IDEA导入Gradle项目报错:Errors occurred while build effective model from ‘xxxxxx’

    项目背景: 一个Java菜鸟在导入Gradle项目的时候,兴致勃勃的正准备跑项目,就差最后一步运行了,结果报了这个错误,随手记录一下,方面大家参考 问题代码: Errors occurred whil ...

  8. IntelliJ IDEA如何导入Gradle项目

    https://blog.csdn.net/wangdong5678999/article/details/70255451 IntelliJ IDEA如何导入Gradle项目 栋先生 2017-04 ...

  9. IDEA导入Gradle项目后,重现构建项目并导入jar包后但是External Libraries目录中无任何引入的jar包

    问题描述:IDEA导入Gradle项目后,重现构建项目并导入jar包后但是External Libraries目录中无任何引入的jar包,并且后台报"java.lang.AbstractMe ...

最新文章

  1. 【硬件基础】个人感悟+C语言 引入头文件时引号括号的区别
  2. linux查看crontab日志无权限,记一次LINUX-CRONTAB失败的排查案例
  3. python什么时候要缩进_不归路系列:Python入门之旅-一定要注意缩进!!!(推荐)...
  4. 【转载】用 Pyinstaller 来打包 + 解决打包结果过大问题
  5. [论文阅读] (17)CCS2019 针对PowerShell脚本的轻量级去混淆和语义感知攻击检测(经典)
  6. springboot 分页查询参数_10. Spring Boot 中的分页查询
  7. 通过Rancher Desktop在桌面上运行K8s
  8. 使用 C# (.NET Core) 实现模板方法模式 (Template Method Pattern)
  9. python矩形填充颜色_在Python中找到所有用0填充的矩形
  10. oracle新建一个用户_Kettle 连接oracle将数据保存到Excel
  11. java做登录时要加锁吗_你用对锁了吗?谈谈 Java “锁” 事
  12. 摆脱jquery,用自己的JS库实现ajax功能
  13. spring5.0学习笔记3
  14. python 发送邮件正文字体设置_python 发送邮件
  15. ubuntu全版本安装 NVIDIA显卡驱动、以及重装、卸载
  16. 手把手搭建一个属于自己的在线 IDE
  17. android分屏模式_Android多窗口模式(分屏模式)
  18. Android开发中Preconditions前置条件判断
  19. c语言tab什么意思_我的C语言入门笔记~!
  20. 我们诚心诚意的给射手座挑选了两款礼物,希望还来得及丨钛空智慧星球

热门文章

  1. 谷歌广告投放步骤流程是什么?一文带你全方位了解实操细节
  2. 用python做lasso回归_解析python实现Lasso回归
  3. 讲解java源码_Java学习之Java源码讲解
  4. XV6环境搭建及注意事项
  5. linux——读取文件(read)
  6. Win10 下使用OpenJDK,并配置 JAVA_HOME
  7. EasyPusher安卓直播推流到EasyDarwin开源流媒体服务器工程简析
  8. Linux初学者五个网站推荐
  9. 什么是4D(DRG、DLG、DOM、DEM)数据?
  10. SpringSecurity OAuth2实现单点登录,微信扫码登录,Redis缓存验证码---入门到实战