Inicie Tomcat como complemento de Gradle para proyectos web de Java

En la era de NetBeans y Eclipse, era relativamente fácil iniciar un proyecto web con Tomcat. Myeclipse incluso tenía un servidor Tomcat incorporado, por lo que ni siquiera necesitaba descargarlo usted mismo. Pero cuando el IDE de Java se hizo popular en Intellij IDEA, surgieron algunos pequeños problemas...

Debo admitir que la velocidad de iteración de Intellij IDEA es un poco rápida en los últimos años, y hay varias actualizaciones importantes al año. Al principio, muchas personas deberían usar la versión, pero incluso si se puede descifrar como myeclipse, Ultimatepero cada vez que se lanza Todavía hay algunos problemas en la nueva versión. Es mucho más problemático que antes. Mucha gente tiene que cambiar a la nueva Communityversión. El problema es que esta versión no tiene soporte para Tomcat. En la mayoría de los casos, usted solo puede instalar Smart Tomcatcomplementos. Por supuesto, hay Tomcat runnerotro complemento. Estos complementos IDE son ciertamente posibles, pero solo un conjunto de soluciones es obviamente débil, y es fácil fallar al instalar los complementos IDEA en China.Aquí hay una nueva forma de introducir un complemento Gradle para iniciar Tomcat, y no necesita instalarlo usted mismo Además, si instala Tomcat solo, solo necesita instalar el complemento.

El idioma predeterminado introducido aquí es groovygradle, que también es el idioma predeterminado de gradle durante mucho tiempo. Sin embargo, si kotlinno es muy diferente, simplemente siga la calabaza. Primero, build.gradleintroduzca el cuerpo del complemento en la parte inicial:

plugins {
	id 'com.bmuschko.tomcat'
}

Por supuesto, esto apply plugintambién es posible:

apply plugin: "com.bmuschko.tomcat"

Luego, introduzca el cuerpo de Tomcat en dependenciesél, después de todo, debe iniciarse junto con el proyecto:

dependencies {
    def tomcatVersion = '8.5.16'
    tomcat "org.apache.tomcat.embed:tomcat-embed-core:${tomcatVersion}",
                    "org.apache.tomcat.embed:tomcat-embed-logging-juli:8.5.2",
                    "org.apache.tomcat.embed:tomcat-embed-jasper:${tomcatVersion}",
                    "org.apache.tomcat.embed:tomcat-embed-websocket:${tomcatVersion}"
}

Si desea utilizar la versión 9, tomcatVersionpara 9.0.75, tomcat-embed-logging-julipara 9.0.0.M6.

Al final, debe realizar algunos ajustes para Tomcat:

tomcat {
	httpProtocol = 'org.apache.coyote.http11.Http11Nio2Protocol'
	ajpProtocol  = 'org.apache.coyote.ajp.AjpNio2Protocol'
}

Se puede decir que estas dos propiedades son necesarias. Por supuesto, hay muchas partes que se pueden configurar. Las siguientes propiedades comunes se pueden ver de un vistazo:

tomcat {
    httpPort = 8090
    httpsPort = 8091
    enableSSL = true
    contextPath = 'url-path'
}

当然还有很多,详细可以看它的github文档介绍:github.com/bmuschko/gr…

最后还有一点,需要在settings.gradle中写一段buildscript

buildscript {
    repositories {
        gradlePluginPortal()
    }

    dependencies {
        classpath 'com.bmuschko:gradle-tomcat-plugin:2.7.0'
    }
}

然后刷新IDEA的Gradle面板就能看见Tasks里有一个web application了:

image.png

执行tomcatRun即可运行,这种方式总体看上去也是比较便捷的,不过说便捷当然还是比不了spring-boot,但也有很多人喜欢这样传统的方式。国内也有很多文章介绍这个com.bmuschko.tomcat,连b站专栏都有了,不过感觉都是多多少少有些遗漏,根据我实践来看最后buildscript的这一段是不能跳过的。

Supongo que te gusta

Origin juejin.im/post/7234057845620080695
Recomendado
Clasificación