一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Spring Boot部署到Tomcat過程中遇到的問題匯總

Spring Boot部署到Tomcat過程中遇到的問題匯總

2021-04-14 11:25Big丶Fine Java教程

這篇文章主要給大家分享了關于Spring Boot部署到Tomcat過程中遇到的一些問題,文中將解決的方法介紹非常詳細,對同樣遇到這個問題的朋友具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。

前言

Spring Boot項目一般都是內嵌tomcat或者jetty服務器運行,很少用war包部署到外部的服務容器,即使放到linux中,一般也是直接啟動Application類,但是有些時候我們需要部署到外部的服務器,這對于Spring Boot來說卻有點麻煩

下面就記錄下自己部署的第一個SpringBoot項目到Tomcat中遇到的問題,三個地方需要注意:頭疼……

詳細如下:

1、SpringBoot有自己內置Tomcat容器,所以要告訴它不使用內置容器,不指定Tomcat版本配置如下:

?
1
2
3
4
5
<dependency>
<groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-tomcat</artifactId>
  <scope>provided</scope>
 </dependency>

2、Application類需要如下改動,其中exclude是忽略數據庫的注解(我沒弄數據庫):

?
1
2
3
4
5
6
7
8
9
10
11
12
@SpringBootApplication(exclude = {
DataSourceAutoConfiguration.class,
DataSourceTransactionManagerAutoConfiguration.class, HibernateJpaAutoConfiguration.class})
public class Application extends SpringBootServletInitializer {
 @Override
 protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
 return application.sources(Application.class);
 }
 public static void main(String[] args) throws Exception {
 SpringApplication.run(Application.class, args);
 }
}

3、JDK版本要一直!我開始服務器用的jdk1.7,本地環境用的1.8,結果本地怎么調試運行都正常,服務器tomcat啟動正常,jsp訪問都正常,接口全部404,控制臺也沒有出現SpringBoot的標示!!!!研究了一整天……頭疼……

我的代碼:

pom.xml

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 <modelVersion>4.0.0</modelVersion>
 <artifactId>wechatServer</artifactId>
 <packaging>war</packaging>
 <url>http://maven.apache.org</url>
 <!-- Inherit defaults from Spring Boot -->
 <parent>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-parent</artifactId>
 <version>1.4.0.RELEASE</version>
 </parent>
 <properties>
 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 <java.version>1.8</java.version>
 </properties>
 <dependencies>
 <dependency>
<groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
  <!-- 排除內置容器,排除內置容器導出成war包可以讓外部容器運行spring-boot項目 -->
 </dependency>
 <dependency>
<groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-tomcat</artifactId>
  <scope>provided</scope>
 </dependency>
 <dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>javax.servlet-api</artifactId>
 </dependency>
 <dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
 </dependency>
 <dependency>
<groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-jdbc</artifactId>
 </dependency>
 <dependency>
  <groupId>dom4j</groupId>
  <artifactId>dom4j</artifactId>
  <version>1.6.1</version>
 </dependency>
 <dependency>
<groupId>com.thoughtworks.xstream</groupId>
  <artifactId>xstream</artifactId>
  <version>1.4.10</version>
 </dependency>
 <dependency>
<groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-devtools</artifactId>
  <optional>true</optional><!-- optional=true,依賴不會傳遞,該項目依賴devtools;之后依賴myboot項目的項目如果想要使用devtools,需要重新引入 -->
 </dependency>
 </dependencies>
 <!--修改打包設置 -->
 <build>
 <plugins>
  <!-- <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId>
  </plugin> -->
  <plugin>
<groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-war-plugin</artifactId>
  <version>2.4</version>
  <configuration>
<encoding>${project.build.sourceEncoding}</encoding>
   <skipTests>true</skipTests>
   <!-- 打成war包時名子 -->
   <warName>wechatServer</warName>
   <!-- mave時啟用的main路徑(因為其他包里面測試時也加了main函數) -->
   <mainClass>${start-class}</mainClass>
   <skip>true</skip><!-- 跳過測試 -->
<testFailureIgnore>true</testFailureIgnore>
<failOnMissingWebXml>false</failOnMissingWebXml>
  </configuration>
  </plugin>
 </plugins>
 </build>
</project>

Application類:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package wechatService.app;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration;
import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication(exclude = {
DataSourceAutoConfiguration.class,
DataSourceTransactionManagerAutoConfiguration.class, HibernateJpaAutoConfiguration.class})
public class Application extends SpringBootServletInitializer {
 @Override
 protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
 return application.sources(Application.class);
 }
 public static void main(String[] args) throws Exception {
 SpringApplication.run(Application.class, args);
 }
 }

Hello請求:

?
1
2
3
4
5
6
7
8
@RestController
@RequestMapping
public class LoginController {
 @RequestMapping("/hello/{myName}")
 String index(@PathVariable String myName) {
 return "Hello "+myName+"!!!";
 }
}

application.properties我這里只配置了端口,然而部署到tomcat以后這里就不起作用了:

?
1
server.port = 80

我的目錄結構:

最后我的完整代碼:wechatServer.rar

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對服務器之家的支持。

原文鏈接:http://blog.csdn.net/fanxiangru999/article/details/79207059

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日韩一级生活片 | 色戒完整版 | 国产三级精品91三级在专区 | 呜嗯啊野战h呻吟男男双性 污小说在线阅读 | 国产成人免费高清激情视频 | 天天做天天玩天天爽天天 | 希岛爱理作品在线观看 | hezyo加勒比一区二区三区 | 国产区香蕉精品系列在线观看不卡 | 毛片网站免费观看 | 日本一区视频 | 久久视频这只精品99re6 | 小小水蜜桃免费影院 | 成人免费毛片一区二区三区 | 每天都要睡男人(nph) | 亚洲国产欧美另类va在线观看 | 国产精品毛片无码 | 3d欧美人禽交 | 亚洲国产在线播放在线 | 日本一区二区高清免费不卡 | 国产视频久久 | 动漫人物差差插曲漫画 | 亚洲欧美成人综合久久久 | 亚洲欧美在线免费观看 | 亚洲乱码一二三四五六区 | 无遮无挡免费视频 | 精品日韩欧美一区二区三区在线播放 | 糖心在线观看 | 九九艹| 国产香蕉一区二区精品视频 | 四虎网址大全 | 91夜夜操 | 免费高清资源黄网站在线观看 | 亚洲国产精品无码中文字满 | 美女黄金大片视频免费看 | 无敌秦墨漫画免费阅读 | 精品一区二区三区高清免费观看 | 日本免费v片一二三区 | 日本高清在线不卡 | 边摸边吃奶玩乳尖视频 | 日韩在线免费 |