Gradle提供了不输于maven的依赖管理

提供了强大的test功能,输出优美的测试报告

并且提供war插件,使用内置的jetty调试WEB应用

因为博主偏偏钟情于tomcat,所以希望使用tomcat来调试WEB应用

下面我们来通过些许的代码,将tomcat插件配置到项目中

实现一键调试部署WEB应用

build.gradle文件:

buildscript {
repositories {
jcenter()
}
dependencies {
classpath "com.bmuschko:gradle-tomcat-plugin:2.2.3"

}
}

apply plugin: "java"
apply plugin: "war"
apply plugin: "eclipse"
apply plugin: "com.bmuschko.tomcat"
sourceCompatibility = 1.8
version = "0.0.1-SNAPSHOT"
war.baseName = "jblog"
project.webAppDirName = "src/main/webapp" //扩展属性放在ext的内部类中
ext{
hibernate_version="4.3.9.Final"
spring_version="4.2.3.RELEASE"
} configurations {
provided
} sourceSets {
main{
resources.srcDirs = ["src/main/java"] //引入资源文件,打包时才会将配置文件植入war文件
}
main.compileClasspath += configurations.provided
test.compileClasspath += configurations.provided
test.runtimeClasspath += configurations.provided
} repositories {
mavenLocal()
maven {url "http://maven.oschina.net/content/groups/public/"}
mavenCentral()
jcenter()
} dependencies {
compile(
"org.hibernate:hibernate-core:${hibernate_version}",
"org.hibernate:hibernate-ehcache:${hibernate_version}",
"org.springframework:spring-core:${spring_version}",
"org.springframework:spring-beans:${spring_version}",
"org.springframework:spring-context:${spring_version}",
"org.springframework:spring-tx:${spring_version}",
"org.springframework:spring-web:${spring_version}",
"net.sf.ehcache:ehcache:2.9.0",
"mysql:mysql-connector-java:5.1.37",
"log4j:log4j:1.2.17"
) testCompile "junit:junit:4.7"
provided "javax.servlet:javax.servlet-api:4.+" def tomcatVersion = '8.0.27'
tomcat "org.apache.tomcat.embed:tomcat-embed-core:${tomcatVersion}",
"org.apache.tomcat.embed:tomcat-embed-logging-juli:${tomcatVersion}",
"org.apache.tomcat.embed:tomcat-embed-jasper:${tomcatVersion}"

} //注意下面这个配置,新版本gradle如果不使用数组添加的话会导致eclipse频繁报错
eclipse.classpath.plusConfigurations += [configurations.provided]
tasks.withType(JavaCompile) {
options.encoding = "UTF-8"
} tomcatRun.contextPath = '/jblog'
tomcatRunWar.contextPath = '/jblog'

上面所有蓝色字体就是所有需要配置的代码

默认端口8080,执行tomcatRun命令后会提示:

The Server is running at http://localhost:8080/jblog

这时候访问http://localhost:8080/jblog就可以访问你的应用进行调试了

因为tomcat的gradle插件是超轻量级的,不带有任何附加的功能,所以访问http://localhost:8080是看不到任何tomcat欢迎界面的

这样看来也就是仅仅调试WEB应用了,与使用内置jetty调试貌似也没多大区别,呵呵

相关截图发一下,我很讨厌那种只发文字不发图片的blog,往往搞得人一头雾水,忙中添乱

项目结构

执行gradle命令

输入build tomcatRun命令(注意大小写),点击Run执行

终端输出如上图所示,这时候就可以访问URL测试我们的应用了。

为Gradle添加tomcat插件,调试WEB应用的更多相关文章

  1. 购物商城学习--第三讲(tomcat插件启动web工程)

    此处提到的tomcat插件即maven工程集成的tomcat插件,可以在添加maven的tomcat插件之后,在本地通过脚本或者命令行方式运行web工程,tomcat插件启动只需要修改一个端口即可,非 ...

  2. (转)淘淘商城系列——使用maven tomcat插件启动web工程

    http://blog.csdn.net/yerenyuan_pku/article/details/72672138 上文我们一起学习了怎样搭建maven工程,这篇文章我就来教大家一起学习怎样用to ...

  3. myeclipse maven tomcat插件 创建web工程

    自从有了云笔记,很久不写博客了.今天写了使用Freemarker静态化JSP页面,索性就发出来.初学,勿喷. 这篇文字以前放在云笔记里,当然里面有很多借鉴网络上的东西,而自己也使用Maven很久了,索 ...

  4. Maven添加Tomcat插件实现热部署

    Maven热部署,顾名思义就是可以不影响项目在服务器中的运行情况,可以实现项目代码的更新,减少启动,编译时间,达到快速开发的目的,也不需要手动拷贝war包到远程项目,可以直接将项目以及war包部署到远 ...

  5. Maven 添加 Tomcat 插件

    若想在 Maven 中使用 Tomcat 服务器,需要在 pom.xml 文件中的 <build></build> 标签中添加以下代码 <!-- Maven项目编译插件 ...

  6. eclipse中如何添加tomcat插件

    本篇简短的介绍了如何安装tomcat插件,因为不eclipse中不安装插件就没有tomcat图标,也就无法正常关闭服务器而只能terminate.废话不多说,直接进入主题: 1.首先下载一个tomca ...

  7. Mac下Eclipse(Oxygen)添加Tomcat插件

    1 查看本机Tomcat版本 ~$ sh /Library/Tomcat/bin/catalina.sh version SiegdeMacBook-Pro:bin Sieg$ sh /Library ...

  8. 为eclipse添加tomcat插件(eclipse tomcat plugin)

    打开站点:http://marketplace.eclipse.org/content/eclipse-tomcat-plugin 把Install拖到打开的eclipse的工作区中,即可下载安装. ...

  9. 如何通过Maven的Tomcat插件运行Web工程

    去tomcat官网http://tomcat.apache.org/,左侧栏Apache Tomcat下的Maven Plugin,点进去选择最新版本Version 2.2 通过介绍可知,使用tomc ...

随机推荐

  1. 您可能不知道的ASP.Net小技巧

    <!-- 页码和简介 --> 1.  在提交页面之后,保持滚动条的位置 可以在page指令上加上MaintainScrollPositionOnPostback指令 <%@ Page ...

  2. Python - 装饰器使用过程中的误区

    曾灵敏 - APRIL 27, 2015 装饰器基本概念 大家都知道装饰器是一个很著名的设计模式,经常被用于AOP(面向切面编程)的场景,较为经典的有插入日志,性能测试,事务处理,Web权限校验, C ...

  3. POJ 2041

    #include <iostream> #include <string> #include <algorithm> using namespace std; st ...

  4. flume-ng+Kafka+Storm+HDFS 实时系统搭建

    转自:http://www.tuicool.com/articles/mMrQnu7 一 直以来都想接触Storm实时计算这块的东西,最近在群里看到上海一哥们罗宝写的Flume+Kafka+Storm ...

  5. POJ 3034 Whac-a-Mole(DP)

    题目链接 题意 : 在一个二维直角坐标系中,有n×n个洞,每个洞的坐标为(x,y), 0 ≤ x, y < n,给你一把锤子可以打到地鼠,最开始的时候,你可以把锤子放在任何地方,如果你上一秒在( ...

  6. poj 1568 Find the Winning Move 极大极小搜索

    思路:用极大极小搜索解决这样的问题很方便!! 代码如下: #include <cstdio> #include <algorithm> #define inf 10000000 ...

  7. JavaScript基础之函数与数组

     函数    函数的基本概念 为完成某一功能的程序指令(语句)的集合,称为函数.有的程序员把函数称为方法,希望大家不要被这两个名词搞晕了. 函数分为:自定义函数.系统函数(经常查看js帮助手册). j ...

  8. 博弈的SG函数理解及模板

    首先定义mex(minimal excludant)运算,这是施加于一个集合的运算,表示最小的不属于这个集合的非负整数.例如mex{0,1,2,4}=3.mex{2,3,5}=0.mex{}=0. 对 ...

  9. Keil MDK编译器(V4.03)与J-LINK使用

    前几天进手了一个J-LINK,因为H-JTAG毕竟对MDK支持的不是太完美,比如用keil mdk上面的下载按钮烧录程序,不是直接就能烧录进去,而是弹出H-Flash软件,再手工选择文件烧录:而且用H ...

  10. UML系列03之UML时序图

    时序图介绍 时序图(Sequence Diagram),亦称为序列图或循序图,是一种UML行为图.时序图是用来描述系统内部是如何交互运作的,它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协 ...