龙空技术网

Tomcat中部署spring boot项目

烧烤味薯片 731

前言:

现时同学们对“如何把tomcat部署到eclipse中”大致比较讲究,大家都想要知道一些“如何把tomcat部署到eclipse中”的相关内容。那么小编同时在网络上汇集了一些关于“如何把tomcat部署到eclipse中””的相关知识,希望咱们能喜欢,我们快快来学习一下吧!

1.将pom.xml中

(1)<packaging>改为war

(2)把这一段注掉或者删除,没有的话则无需更改,我是按照自己的项目来的

<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-compiler-plugin</artifactId>

<configuration>

<verbose>true</verbose>

<fork>true</fork>

<!-- 在setting.xml文件进行配置 -->

<executable>${JAVA8_HOME}/bin/javac</executable>

</configuration>

</plugin>

(3)加上这个依赖,作用是:将内置的tomcat插件不打包进去

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-tomcat</artifactId>

<scope>provided</scope>

</dependency>

2.应用启动类修改,需要继承SpringBootServletInitializer,并重写configure方法。

import org.mybatis.spring.annotation.MapperScan;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.boot.builder.SpringApplicationBuilder;

@SpringBootApplication

@MapperScan(basePackages = { "com.example.demo.mapper" }, sqlSessionFactoryRef = "sqlSessionFactory")

public class Demo1Application extends SpringBootServletInitializer {

public static void main(String[] args) {

SpringApplication.run(Demo1Application.class, args);

}

protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {

// 注意这里要指向原先用main方法执行的Application启动类

return builder.sources(Demo1Application.class);

}

}

3.使用maven打包

在项目的根目录也就是在包含pom.xml那一层,使用 mvn clean package 命令

打包文件,看到BUILD SUCCESS成功生成war包。

4.放入Tomcat中运行

将生成的war包放入tomcat/webapp中,再去bin下,运行startup.bat就可以了,

输入localhost:8080/demo-1-0.0.1-SNAPSHOT(应用项目名)/view/login/index.html能登录就可以了

问题记录

首先,系统默认生成的是tomcat8的jar包

其次,系统环境变量的JDK版本要和你的项目保持一致。

我就是因为不一致找了很久的原因。我的项目是JDK1.8,系统环境变量是JDK1.7,丢到tomcat日志只有logback初始化的打印,再没有其他信息,后面就提示已经启动。但访问controller之类的都是404.

还有就是,如果你是新建的demo,其他文件都是从其他地方复制过来的话,切记,要把配置文件中的名称与你的外部的包名类名一致,不然很容易就报错,你可以先将部署在eclipse中的tomcat先测试你的spring boot项目

成功之后再打包。

最后,你发现明明spring boot中可以正常运行的项目,但是在tomcat无法正常运行,那么有可能是因为,spring boot访问时无需添加项目名,但是tomcat里需要在项目名后实现每一次的跳转。

标签: #如何把tomcat部署到eclipse中