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. 9 I/O复用

    I/O复用使得程序能够同时监听多个文件描述符,适用于以下情况: 客户端同时处理多个socket,比如非阻塞connect 客户端同时处理用户输入和网络连接,比如聊天室程序 TCP服务器同时处理监听so ...

  2. HTTP常见返回代码(HTTP Status codes)的分类和含义

    HTTP错误主要分成三类:用户设备问题.Web服务器问题和连接问题.当客户端向Web服务器发送一个HTTP请求时,服务器都会返回一个响应代码.而这些响应代码主要分成五类. HTTP状态码中定义了5大类 ...

  3. 表单中<form>的enctype属性

    application/x-www-form-urlencoded.multipart/form-data.text/plain 上传文件的表单中<form>要加属性enctype=&qu ...

  4. Unity 3D 游戏上线之后的流水总结

    原地址:http://tieba.baidu.com/p/2817057297?pn=1 首先.unity 灯光烘焙 :Unity 3D FBX模型导入.选项Model 不导入资源球.Rig 不导入骨 ...

  5. 翻译 - NodeJS错误处理最佳实践

    王龑 - APRIL 13, 2015 NodeJS的错误处理让人痛苦,在很长的一段时间里,大量的错误被放任不管.但是要想建立一个健壮的Node.js程序就必须正确的处理这些错误,而且这并不难学.如果 ...

  6. POJ 1504

    #include<iostream> using namespace std; int main() { int num; cin>>num; while(num--){ in ...

  7. Activity学习(一)——状态转变

    (转自:http://blog.csdn.net/flowingflying/article/details/6415323) Android很大的应用场景是手机,有一些应用具有特别的优先级别,例如电 ...

  8. Android 源码 判断网络数据类型

    private final void updateDataNetType(int slotId) { int tempDataNetType; NetworkType tempDataNetType3 ...

  9. java基础知识回顾之final

    //继承弊端:打破了封装性. /* final关键字: 1,final是一个修饰符,可以修饰类,方法,变量. 2,final修饰的类不可以被继承. 3,final修饰的方法不可以被覆盖. 4,fina ...

  10. JS之数组

    1.数组的定义: (1)字面量:  var arr = [1, 2, 3];  (2) new:   var arr = new Array(1, 2, 3);(using new and don't ...