关于Gradle使用内嵌Tomcat容器,并启用Debug模式进行调试

来源:互联网 发布:手机sd卡数据无法删除 编辑:程序博客网 时间:2024/05/24 05:56

build.gradle中buildScript脚本中添加classpath依赖:classpath ("com.bmuschko:gradle-tomcat-plugin:2.2.2")

webAppProjects.properties中添加tomcat依赖:

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}"

tomcat {

    httpPort = 8080
    httpsPort = 8090
    enableSSL = false
    contextPath = 'gradcat-webapp'
    users {
        user {
            username = 'admin'
            password = 'admin'
            roles = ['admin-gui', 'manager-gui']
        }
    }
}

完事以后.......继续:

方式一:gradle.properties文件中添加如下jvm参数:

org.gradle.jvmargs=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8877

或者


org.gradle.jvmargs=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=7788


方式二:在javaGradle.properties文件中新建task

task tomcatDebug {
   // Create a new task tomcatDebug, add a description and add it to the same group as tomcatRun
   description "Starting Tomcat with debugger enabled on port 8787."
   group "web application"
} << {
 
   org.gradle.tooling.ProjectConnection conn = org.gradle.tooling.GradleConnector.newConnector()
      .forProjectDirectory(new File("."))
      .connect();
 
   try {
 
      org.gradle.tooling.model.build.BuildEnvironment env = conn.getModel(org.gradle.tooling.model.build.BuildEnvironment.class)
      org.gradle.tooling.BuildLauncher build = conn.newBuild();
  
      build.forTasks("tomcatRunWar")
      // Enable debug via jvm arguments and append JVM arguments of the currently running vm (except -D).
      build.setJvmArguments("-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8899", *env.java.jvmArguments)
 
      // Run tomcatRun in the new JVM with debug parameters
      build.run()
 
   } finally {
      conn.close();
   }
}


最后:Eclipse中配置Attach端口,Eclipse》工具栏》Run》Debug Configurations》配置端口


相关连接:

https://github.com/bmuschko/gradle-tomcat-plugin

http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Fconcepts%2Fcremdbug.htm

https://www.timroes.de/2014/06/22/using-gradle-to-debug-tomcat/

0 0