zoukankan      html  css  js  c++  java
  • IDEA下spring boot项目打包war包部署外部tomcat问题

    第一步,修改配置pom.xml文件

    <packaging>war</packaging>

    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>

    <!-- 移除嵌入式tomcat插件 -->
    <exclusions>
    <exclusion>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    </exclusion>
    </exclusions>
    </dependency>

    <!-- 移除之后会报错,加入下面的依赖 -->
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
       <scope>provided</scope>
    </dependency>

    <build>
    <finalName>wxxm</finalName>
    <plugins>
    <plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
    <fork>true</fork>
    <mainClass>com.sc.wxxm.WxxmApplication</mainClass><!-- 项目运行main方法的全路径 -->
    </configuration>
    <executions>
    <execution>
    <goals>
    <goal>repackage</goal>
    </goals>
    </execution>
    </executions>

    </plugin>
    <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <configuration>
    <failOnMissingWebXml>false</failOnMissingWebXml>
    </configuration>
    </plugin>

    <plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.7.0</version>
    <configuration>
    <source>1.8</source>
    <target>1.8</target>
    <encoding>UTF-8</encoding>
    <compilerArguments>
    <extdirs>${project.basedir}/src/main/resources/lib</extdirs><!-- maven无法导入的依赖,我自己建的lib包 -->
    </compilerArguments>
    </configuration>
    </plugin>

    </plugins>
    <resources>
    <resource>
    <directory>${basedir}/src/main/java</directory>
    <includes>
    <include>**/*.xml</include>
    </includes>
    </resource>
    <resource>
    <directory>${basedir}/src/main/resources</directory>
    <includes>
    <include>**/**</include>
    </includes>
    <filtering>false</filtering>
    </resource>
    </resources>
    </build>

    第二步,修改启动类,启动类继承SpringBootServletInitializer类,重写configure方法

    @SpringBootApplication
    @EnableAutoConfiguration

    public class WxxmApplication extends SpringBootServletInitializer {

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

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

    完成以上配置就可以正常打包发布了

  • 相关阅读:
    面试官没想到一个Volatile,我都能跟他扯半小时
    面试官:你经历过数据库迁移么?有哪些注意点和难点?
    【逼你学习】让自制力提升300%的时间管理方法、学习方法分享
    面试官:说一下内存溢出排查过程和工具?我...
    大厂需求研发流程,进去前了解一波?
    面试必问:分布式锁实现之zk(Zookeeper)
    Redis之分布式锁实现
    大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
    【面经分享】互联网寒冬,7面阿里,终获Offer,定级P6+
    我找到了Dubbo源码的BUG,同事纷纷说我有点东西
  • 原文地址:https://www.cnblogs.com/niuniu0108/p/11163914.html
Copyright © 2011-2022 走看看