Publique el proyecto Spring-Boot en el contenedor Tomcat como proyectos web habituales
1. Modifique el formulario de embalaje
Establezca <packaging>war</packaging> en pom.xml
2. Retire el complemento de Tomcat incrustado
Encuentre el nodo de dependencia Spring-Boot-Starter-Web en pom.xml, agregue el siguiente código.
<Spendency> <ProupId> org.springframework.boot </groupid> <artifactid> spring-boot-starter-web </artifactid> <!-eliminar el complemento Tomcat integrado-> <exclusions> <Extusion> <Proupid> org.springframework.Boot </groupid> <artifactid> </sclusion> </exclusiones> </pendency>
3. Agregar dependencias de servlet-API
Ambos métodos siguientes están bien, elija uno de ellos
<Spendency> <MoupRid> javax.servlet </proupid> <artifactid> javax.servlet-api </arfactid> <versión> 3.1.0 </versión> <cope> proporcionó </cope> </pendency> <ependency> <uproupid> org.apache.tomcat </groupid> <artifactid> tomcat-servlet-api </artemid> <versión> 8.0.36 </versión> <cope> proporcionó </cope> </pendency>
4. Modifique la clase de inicio y reescribe el método de inicialización
Por lo general, usamos el método principal para comenzar, y tenemos una clase de inicio de la aplicación, el código es el siguiente:
@SpringBootApplicationPublic Aplolation {public static void main (string [] args) {springApplication.run (application.class, args); }}Necesitamos una configuración similar a Web.xml para iniciar el contexto de resorte. Agregue una clase SpringBootStartApplication a su nivel simultáneo de la clase de aplicación, y su código es el siguiente:
/** * Modifique la clase de inicio, Hereding SpringBootServletInItializer y sobrescribe el método Configurar */public SpringBootStArTApplication extiende SpringBootServletInitializer {@Override protegido SpringApplicationBuilder Configurar Configuración builder.ources (Application.Class); }}5. Paquete e implementación
En el Directorio Root Project (es decir, el directorio que contiene pom.xml), ingrese:
El paquete MVN Clean es suficiente. Espere a que se complete el embalaje. [Información] Aparece el éxito de compilación y el empaque es exitoso.
Luego, coloque el paquete de guerra en el directorio de destino en el directorio webapps de Tomcat, comience a Tomcat y se descomprima e implementa automáticamente.
Finalmente ingrese al navegador
http: // localhost: [número de puerto]/[nombre del proyecto de paquete]/
El lanzamiento fue exitoso.
PD: Echemos un vistazo a la solución al paquete de guerra SpringBoot Tomcat Error de inicio (no se puede determinar la clase de controlador de la base de datos incrustada para la base de datos Tipo Ninguno)
Nuestro proyecto siempre ha sido ejecutado directamente por paquetes JAR. Ayer, mi colega dijo que quería ejecutarlo en Tomcat, así que lo ayudé a hacer una fortuna durante mucho tiempo. Te lo presentaré en el artículo. Los amigos que lo necesitan pueden hacer clic para verlo.
Luego fue empaquetado con éxito y desplegado en el Tomcat local e informó un error de título cuando se inició. Después de buscar en línea, se dijo que se agregaron anotaciones a la clase de inicio :@SpringBootApplication(exclude={DataSourceAutoConfiguration.class,HibernateJpaAutoConfiguration.class)
Mi prueba personal no es válida.
Solución:
La anotación para la clase de inicio :@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class}) es válido para pruebas personales.