[转] 将springboot项目打成war包放到外部tomcat运行

C 2021-11-23 1067

转载:https://blog.csdn.net/z69183787/article/details/104063378

作者:OkidoGreen

项目开发中使用过的是springboot快速开发,学过springboot的都知道,他是使用了内置Tomcat进行发布项目,简单来说就是我们可以想开始学的时候用的main方法执行。可是需求要的是将springboot项目打包出来放在外部tomcat下执行。无奈的只好学习如何打包咯。打war包不难,接下来会分了四步走,完成了基本可以打包了。

第一步:pom,xml操作

我们需要移除内置Tomcat的依赖:将原来我们用的spring-boot-starter-web 加入加上<exclusion>如下表示

 <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
   <exclusions>
      <exclusion>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-tomcat</artifactId>
      </exclusion>
   </exclusions>
</dependency>

第二步:在pom.xml里找到打包的标签,将里面的jar改成war

 <packaging>war</packaging>

第三步:找到我们平时启动项目的启动类

原始的:

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

修改后的:

@SpringBootApplication
public class RecyclingApplication extends SpringBootServletInitializer {
   @Override
   protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
      return builder.sources(RecyclingApplication.class);
   }
   public static void main(String[] args) {
      SpringApplication.run(RecyclingApplication.class, args);
   }
}

第四步:上面完成了。基本就可以打包啦。接下来就是这么打包的问题了。

点击后找到build Artifacts点击后就可以看到项目名.war 点一下后,去target目录下找就找到我们的war包了。

最后如果出现报错,右键项目,Java Build Path - Classpath - Add Liberary - Server Runtime - Tomcat

第五步:修改pom.xml中Build部分增加executable=true

<build>
	<plugins>
		<plugin>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-maven-plugin</artifactId>
			<configuration>
            	<executable>true</executable>
            </configuration>
		</plugin>
	</plugins>
</build>
最新回复 (1)
  • C 2021-11-23
    2

    很有用,我转一下留着以后使用

返回
发新帖