java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > SpringBoot打包war包无法运行

SpringBoot项目打包war包时无法运行问题的解决方式

作者:Smile_X

在开发工程中,使用启动类启动能够正常启动并测试,下面这篇文章主要给大家介绍了关于SpringBoot项目打包war包时无法运行问题的解决方式,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

现实的情况下遇见过该问题刚好记录一下!

SpringBoot项目打包

首先默认创建的maven springBoot项目进行代码的clean 和 install进行项目打包的时候默认是使用jar 包的形式进行打包的,如果需要进行war 包打包部署的话就需要修改相应的 数据内容了

jar 包 和 tomcat 包

启动脚本示例:

nohup /opt/jdk8/bin/java -server -Xms4G -Xmx4G -XX:MaxMetaspaceSize=256m -Xmn1G -XX:SurvivorRatio=6 -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled  -jar /opt/api/xx.jar --spring.profiles.active=prod > /opt/logs/xx.out 2>&1 &

war启动的时候将war包丢到相应tomcat webapps 路径下面就行

cd /tomcat/bin 
chmod -x *.sh
sh catalina.sh run

对于war包来说 可能对于一些变化大的包便于维护 比如前后端 不分离的项目如果临时需要改部分页面以及配置信息可以临时修改而不用全部项目打包升级。

实际问题及解决方式

问题

在实际开发过程中使用的就是springboot项目开发然后并且选择的的打包方式上也是使用了war的模式但是在实际打算提交测试的时候发现war打出来之后在tomcat中运行是存在问题的 就是容器启动了但是相应的服务却没办法使用

解决方法

<packaging>war</packaging>
<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>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
</dependency>
@SpringBootApplication
@MapperScan("com.smile.ssm.dao")
@EnableScheduling
@EnableAsync
public class HisApplication extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(HisApplication.class);
    }

    public static void main(String[] args) {
        SpringApplication.run(HisApplication.class, args);
        System.out.println("******************SSM project start success !!!***********************");
    }
}
<!-- https://mvnrepository.com/artifact/org.apache.tomcat/tomcat-servlet-api -->
<dependency>
    <groupId>org.apache.tomcat</groupId>
    <artifactId>tomcat-servlet-api</artifactId>
    <version>8.5.70</version>
</dependency>

end

到此这篇关于SpringBoot项目打包war包时无法运行问题解决的文章就介绍到这了,更多相关SpringBoot打包war包无法运行内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文