资讯专栏INFORMATION COLUMN

springBoot 部署到远程服务器

caohaoyu / 781人阅读

摘要:环境声明服务器阿里云,目的将打包到远程服务器的中。打包到项目的根目录下。目前还未解决的问题原本是想直接打成包。无耐打成包,一直在插件部分报错。只能打成包并上传到中。导致一直找不到错误。。只要手动将其改成版本即可。

环境声明:
jdk:1.8
服务器:阿里云,ubuntu 16.04
springBoot:1.5.9.RELEASE

目的
将springBoot 打包到远程服务器的tomcat中。

pom.xml



    4.0.0

    waibao
    project
    1.0-SNAPSHOT
    war

    
        org.springframework.boot
        spring-boot-starter-parent
        1.5.9.RELEASE
    
    
        1.8
    
    
        
            org.springframework.boot
            spring-boot-starter-web
        
        
        
        
            org.springframework.boot
            spring-boot-starter-tomcat
            provided
        

        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            1.3.1
        

        
        
            org.springframework.boot
            spring-boot-starter-thymeleaf
        
        
        
            net.sourceforge.nekohtml
            nekohtml
            1.9.22
        

        
            org.springframework.boot
            spring-boot-starter-jdbc
        

        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            1.3.1
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        

        
            mysql
            mysql-connector-java
            6.0.6
        
        
        
            com.alibaba
            druid
            1.1.5
        
        
        
            com.alibaba
            fastjson
            1.2.40
        

        
        
            org.springframework.boot
            spring-boot-devtools
            1.5.9.RELEASE
            true
            true
        
    

    
        /testweb
        
            
                org.apache.maven.plugins
                maven-war-plugin
                2.4
                
                    false
                
            
        
    

注意
1、maven 插件不能使用springBoot自带的插件。我使用这个插件报以下错误

Failed to execute goal org.apache.maven.plugins:maven-jar-plugin:2.6:jar (default-jar) on project project: Execution default-jar of goal org.apache.maven.plugins:maven-jar-plugin:2.6:jar failed: An API incompatibility was encountered while executing org.apache.maven.plugins:maven-jar-plugin:2.6:jar: java.lang.ExceptionInInitializerError: null

将maven插件修改为


     org.apache.maven.plugins
     maven-war-plugin
     2.4
     
          false
     

需要注意的是,因为我没有web.xml。所以多加了


      false

2、


    xxx

finalName 需要与 application.yml 中的 context-path 一致。

3、需要将tomcat的依赖改成编译时


            org.springframework.boot
            spring-boot-starter-tomcat
            provided
        

4、springBoot入口类,继承SpringBootServletInitializer 并覆盖

protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(MainApplication.class);
    }

其中 MainApplication.class 是 springBoot的入口类。

打包
到项目的根目录下。如果你是用IDEA,直接到这里输入:
mvn clean package -DskipTests

打包结束后,会在项目的target 文件夹中生成对应的.war 文件

上传
直接将war文件丢到tomcat的webapps下面即可。

目前还未解决的问题:
原本是想直接打成jar包。然后直接启动springBoot。无耐打成Jar包,一直在maven插件部分报错。只能打成war包并上传到tomcat中。
如果有人解决了这个问题,请告诉我下。
这篇文章中,说这是个bug....
https://issues.apache.org/jir...

更新。。。。
问题已经解决。 可以直接将springBoot打包成 Jar,并运行。
原因:


   
      org.springframework.boot
      spring-boot-maven-plugin
   

springBoot 给的官方例子,用的是这个插件。
Maven会自动下载 2.4 版本及 2.6版本的 maven-jar-plugin。
而,Maven 默认会依赖 2.6版本。。 一开始没注意到项目报的错误是,maven-jar-plugin 2.6jar 不兼容。导致一直找不到错误。。
也就是 2.6版本不兼容。 只要手动将其改成 2.4版本即可。 如下所示:


            
                org.springframework.boot
                spring-boot-maven-plugin
            
            
                org.apache.maven.plugins
                maven-jar-plugin
                2.4
            

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/70850.html

相关文章

  • 关于springboot打包部署Linux的简单记录

    摘要:由于最近自己在学习的相关知识,所以就在百度云上买了个服务器,以便自己后期学习和部署自己写的项目。在这里我已经将相关的包上传到服务器中,然后就需要运行相应的命令就可以运行了。 由于最近自己在学习springboot的相关知识,所以就在百度云上买了个服务器,以便自己后期学习和部署自己写的项目。万里长城才开始呢。 首先通过idea软件写的springboot项目可以直接通过maven进行打...

    wenyiweb 评论0 收藏0
  • 超详细,新手都能看懂 !使用SpringBoot+Dubbo 搭建一个简单的分布式服务

    Github 地址:https://github.com/Snailclimb/springboot-integration-examples ,欢迎各位 Star。 目录: 使用 SpringBoot+Dubbo 搭建一个简单分布式服务 实战之前,先来看几个重要的概念 什么是分布式? 什么是 Duboo? Dubbo 架构 什么是 RPC? 为什么要用 Dubbo? 开始实战 1 ...

    chengtao1633 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<