将SpringBoot打成war包,部署在Tomcat访问

因为这次做的项目需要在SpringBoot项目中引入第三方jar包(用了百度的富文本编辑器ueditor),所以“SpringBoot引入第三方jar包或本地jar包的处理方式”,然后再是项目后面会打成war包放在tomcat运行,所以今天先测试一下,引入了第三方jar包后,再打成war包部署在Tomcat访问!

1.修改<packaging></packaging>中的值为war

2.需要在pom.xml的<dependencys></dependencys>中加入如下几个依赖:

<!--引入maven相关包,打war包的是后续需要-->
<dependency>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-resources-plugin</artifactId>
	<version>2.4.3</version>
</dependency>

<!--打成war包需要引入的jar包-->
<dependency>
	<groupId>javax.servlet</groupId>
	<artifactId>javax.servlet-api</artifactId>
	<version>3.1.0</version>
	<scope>compile</scope>
</dependency>

<!--因配置外部TOMCAT 而配置-->
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-tomcat</artifactId>
	<scope>provided</scope>
</dependency>

下面是pom.xml下方的<build></build>配置,可参考增加与修改:

<build>
	<plugins>

		<plugin>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-maven-plugin</artifactId>
			<!--允许将第三方jar打包进war包-->
			<configuration>
				<includeSystemScope>true</includeSystemScope>
			</configuration>
		</plugin>

		<!--确保在项目中添加的第三方jar包能够根据下方配置路径导入(打包的项目包中)-->
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-war-plugin</artifactId>
			<version>2.4</version>
			<configuration>
				<webResources>
					<resource>
						<directory>src/main/resources/jar/</directory>
						<targetPath>WEB-INF/lib/</targetPath>
						<includes>
							<include>**/*.jar</include>
						</includes>
					</resource>
				</webResources>
                                <!--项目未配置web.xml-->
				<failOnMissingWebXml>false</failOnMissingWebXml>
			</configuration>
		</plugin>

	</plugins>
	<!-- 自定义打包名 -->
	<finalName>et</finalName>
</build>

3.修改springboot的启动文件(红色部分为添加部分):

import ...

@SpringBootApplication
public class EtApplication extends SpringBootServletInitializer {

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

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

4.双击idea右侧 Maven Projects 内的 package ,即可开始打war包了!

5.因为Tomcat默认是需要项目名访问的,但是SpringBoot项目默认是不需要项目名访问的,又考虑到以后项目可能会单独放在一个服务器上跑,所以修改一下Tomcat的server.xml文件:

在 <Host appBase=”webapps” autoDeploy=”true” name=”localhost” unpackWARs=”true”></Host> 标签中添加 <Context path=”” docBase=”D:\tomcat\8\webapps\xxx” debug=”0″ reloadable=”true”/> 即可!然后就可以直接输入“localhost:8080”进行访问了。


70 Clicks !

发表评论

电子邮件地址不会被公开。 必填项已用*标注