外部Tomcatを使用したSpringBootプロジェクトのデプロイの正しい姿勢は次のようになります。

1.3段階の操作を構成します

 

1.プロジェクトのパッケージタイプを変更します

<packaging>war</packaging>

2.埋め込まれたTomcat依存関係を削除します(必須ではありません)

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-tomcat</artifactId>
	<!-- scope设置为provided, 表明依赖由外部容器提供,在打包时会将该包排除 -->
	<scope>provided</scope>
</dependency>

パッケージ化されたwarパッケージが解凍された後、スコープが提供する依存関係(ここでは埋め込みtomcat)は、libディレクトリではなくlib提供のディレクトリに配置されます。

3. SpringBootServletInitializerを継承し、configureメソッドをオーバーライドします

3.1。方法1

@RestController
@SpringBootApplication
public class TomcatDemoApplication extends SpringBootServletInitializer{

	public static void main(String[] args) {
		SpringApplication.run(TomcatDemoApplication.class, args);
	}

	@Override
	protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
		return builder.sources(TomcatDemoApplication.class);
	}

	@GetMapping("/hello")
	public String hello() {
		return "hello world";
	}
}

3.2。方法2

@RestController
@SpringBootApplication
public class TomcatDemoApplication extends SpringBootServletInitializer{

	public static void main(String[] args) {
		SpringApplication.run(TomcatDemoApplication.class, args);
	}

	@GetMapping("/hello")
	public String hello() {
		return "hello world";
	}
}
public class ServletInitializer extends SpringBootServletInitializer {

	@Override
	protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
		return builder.sources(TomcatDemoApplication.class);
	}
}

2つ、パッケージの展開手順

1. mvnパッケージはパッケージ化されており、パッケージ名のデフォルトは次のとおりです。

<artifactId>-<version>.<packaging>

次の項目を構成します。

<groupId>com.example</groupId>
<artifactId>tomcat-demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>

パッケージ化後のパッケージ名は、tomcat-demo-0.0.1-SNAPSHOT.warです。

2.完成したwarパッケージを外部Tomcatのwebappディレクトリに置き、bin /start.batを起動します。

3. http:// localhost:8085 / tomcat-demo-0.0.1-SNAPSHOT / helloアクセスする と、通常、ページは「helloworld」を返します。

3つ目は注意が必要な事項

1.外部Tomcatを使用してプロジェクトをデプロイした後、SpringBootの一部の内部構成が無効になります。次に例を示します。

server.port, server.servlet.context-path 等, 

因为这些配置都是针对内嵌tomcat容器的,要修改端口号和部署根路径的话,需要修改外部tomcat的相关配置

2.パッケージ化後にデフォルトのパッケージ名を変更します

<build>
	<finalName>tomcat-demo</finalName>
	<plugins>
		<plugin>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-maven-plugin</artifactId>
		</plugin>
	</plugins>
</build>

このようにパッケージ化した後、パッケージ名は

<finalName>.war, 这里即为tomcat-demo.war

アクセスフォームは次のように変更されます:http:// localhost:8085 / tomcat-demo / hello

 

おすすめ

転載: blog.csdn.net/u014225733/article/details/97370817