• 为Gradle添加tomcat插件,调试WEB应用


    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测试我们的应用了。

  • 相关阅读:
    GAMIT中遇到的错误
    bash: ./install_software: Permission denied
    xmanager无法加载远程桌面
    GMT的安装
    小总结:Gamit中常见常用命令
    动态分配指针数组(以解决)
    Gamit使用gftp软件下载数据
    Python基础(1)
    JAVA中关于多线程的理解
    JAVA 基本绘图——利用JFrame JPanel 绘制扇形
  • 原文地址:https://www.cnblogs.com/newflydd/p/4980524.html
Copyright © 2020-2023  润新知