MyEclipse 使用gradle 构建java web项目

为什么要使用gradle?

  • 按约定声明构建和建设;
  • 强大的支持多工程的构建;
  • 强大的依赖管理(基于Apache Ivy),提供最大的便利去构建工程;
  • 全力支持已有的 Maven 或者Ivy仓库基础建设;
  • 支持传递性依赖管理,在不需要远程仓库和pom.xml和ivy配置文件的前提下;
  • 基于groovy脚本构建,其build脚本使用groovy语言编写;
  • 具有广泛的领域模型(DSL)支持构建;
  • 深度 API;
  • 易迁移;
  • 自由和开放源码,Gradle是一个开源项目,基于 ASL 许可。 https://github.com/gradle/gradle

MyEclipse 安装 gradle插件

  1. 打开myeclipse(此处使用myeclipse2015) > help > install from catalog…
    MyEclipse 使用gradle 构建java web项目_第1张图片

  2. 搜索框中输入gradle,选择all markets
    MyEclipse 使用gradle 构建java web项目_第2张图片

  3. 找到Gradle IDE Pack 3.8.x+1.0.x,也可以选择Buildship Gradle Integration 2.0 插件,功能都差不多。Gradle IDE Pack 中包含了Minimalist Gradle Editor,在编辑gradle文件时会有语法高亮效果,插件安装完成后需要在General > Editor > File Assaociations 中设置.gradle 文件的默认编辑器。
    MyEclipse 使用gradle 构建java web项目_第3张图片
    MyEclipse 使用gradle 构建java web项目_第4张图片

创建 gradle 项目

File > new > other >Gradle(STS) Project
Sample project 选择 Java Quickstart,会自动生成src/main/java,src/main/resources,src/test/java,src/testresources 文件夹。

MyEclipse 使用gradle 构建java web项目_第5张图片
项目结构如下:

MyEclipse 使用gradle 构建java web项目_第6张图片
build.gradle:

MyEclipse 使用gradle 构建java web项目_第7张图片

apply plugin:引入gradle 插件
sourceCompatibility:编译的jdk版本
jar:编译jar包用的
repositories:指定中央仓库,支持jcenter(),mavenCentral(),也可以自己指定maven仓库地址
dependencies:依赖引用
test:测试相关配置
uploadArchives:上传jar包

添加 web 配置

由于当前项目还只是一个普通的java项目,还不能发布到tomcat、jetty等容器运行,所以需要添加web相关配置。
选中项目,点击导航栏MyEclipse > Project Facets > Install Dynamic Web Module Facet。

MyEclipse 使用gradle 构建java web项目_第8张图片
MyEclipse 使用gradle 构建java web项目_第9张图片
MyEclipse 使用gradle 构建java web项目_第10张图片

此时多了个球形标志,说明已转换为web项目

MyEclipse 使用gradle 构建java web项目_第11张图片

添加jetty插件

apply plugin: 'jetty'

注意:在gradle 3.0 版本以上,jetty 插件已更换为gretty插件,如果还使用 apply plugin: ‘jetty’,会报找不到插件的错误。
添加完成后,需要刷新配置,选中项目,右键 > Gradle (STS) > Refresh All,或者使用快捷键 Ctrl F5
MyEclipse 使用gradle 构建java web项目_第12张图片

编译完成后,在Gradle Tasks 中会多出几个task,显示Gradle Tasks的方法: window > show view > other > Gradle Tasks

MyEclipse 使用gradle 构建java web项目_第13张图片

配置jetty运行参数

webAppDirName = 'WebRoot'    // 设置 WebApp 根目录

jettyRun{
    contextPath = "gradle01" 
    httpPort = 8081 // 运行端口
}

双击 Gradle Tasks 中的jettyRun,待启动完毕,在浏览器中输入 :http://127.0.0.1:8081/gradle01 ,看看运行结果,说明通过jetty插件,已经成功运行了java web项目。

MyEclipse 使用gradle 构建java web项目_第14张图片

使用本地tomcat容器运行 java web 项目

由于在开发中用惯了本地tomcat来部署项目,可能会更希望把项目运行在本地tomcat中。
先试试看能否在本地tomcat容器中部署 。
打开Servers,选择 Tomcat 7.0,右键Add Deployments ,在部署列表中,根本找不到我们要发布的项目 gradle01。

MyEclipse 使用gradle 构建java web项目_第15张图片

仔细观察,发现另外一个web01 项目却可以,对比一下差别,可以看到web01上多了一个 球形图标即web项目标志,而gradle01却没有,但是开始的时候明明已经添加过了,而且图标也出现过了,为毛现在没有了?
打开两个项目的.project 文件

web01 > .peoject

    
        org.eclipse.jem.workbench.JavaEMFNature
        org.eclipse.wst.common.modulecore.ModuleCoreNature
        org.eclipse.wst.common.project.facet.core.nature
        org.eclipse.jdt.core.javanature
        org.eclipse.wst.jsdt.core.jsNature
    

gradle01 > .peoject

    
        org.springsource.ide.eclipse.gradle.core.nature
        org.eclipse.jdt.core.javanature
    

此处少了好几个 nature。

解决办法:
添加gradle eclipse-wtp插件,该插件会自动添加 natures 引用

apply plugin: 'eclipse-wtp'

再次Ctrl F5刷新项目,待编译完成后,发现web标志又回来了

MyEclipse 使用gradle 构建java web项目_第16张图片
部署运行,访问一切正常,跟普通java web项目没什么两样。

你可能感兴趣的:(Java,gradle)