Spring Boot maven 打成war tomcat 运行

springboot的应用打包默认是打成jar包,web项目默认使用内置的tomcat支持。但有时候我们需要打成war包放到指定tomcat中运行。


1.

	<modelVersion>4.0.0</modelVersion>
	<artifactId>interface</artifactId>
	<packaging>war</packaging>

packageing是war



2

@SpringBootApplication
@EnableWebSocket
@EnableCaching
public class InterfaceApplication extends SpringBootServletInitializer {
	
	protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
	        return application.sources(InterfaceApplication.class);
	   }
	public static void main(String[] args) throws IOException {
		SpringApplication.run(InterfaceApplication.class, args);
	}
	

}

继承SpringBootServletInitializer



3

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<!-- 热部署 -->
				<configuration>
					<fork>false</fork>
				</configuration>
			</plugin>
				<plugin>
		            <artifactId>maven-resources-plugin</artifactId>
		            <executions>
		                <execution>
		                    <id>copy-xmls</id>
		                    <phase>process-sources</phase>
		                    <goals>
		                        <goal>copy-resources</goal>
		                    </goals>
		                    <configuration>
		                        <outputDirectory>${basedir}/target/classes</outputDirectory>
		                        <resources>
		                            <resource>
		                                <directory>${basedir}/src/main/java</directory>
		                                <includes>
		                                    <include>**/*.xml</include>
		                                </includes>
		                            </resource>
		                        </resources>
		                    </configuration>
		                </execution>
		            </executions>
		        </plugin>
		</plugins>
	</build>

我的src.main.java下有mapper.xml文件所有这里配置下。


注:我这里并没有去除spring-boot-starter-web  中的tomcat。但好像也没啥影响。

也没有配置<artifactId>javax.servlet-api</artifactId>  编译也没问题。原因目前不清除。有时间再研究吧



访问:

http://127.0.0.1:8080/interface-0.0.1-SNAPSHOT


8080是Tomcat端口。

spring boot配置文件的端口不用管,因为用的不是内置tomcat。。。

访问路径名中interface-0.0.1-SNAPSHOT就是打出的war包名。跟spring boot配置文件中起的项目名也没关系。

因为要入乡随俗哈哈哈

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值