Spring Cloud(三) 把Spring Cloud 打成jar包 war包部署到server上

1、前言

怎樣把已經開發的spring cloud 項目進行打包部署,其實過程和spring boot 的是同樣的。通過摸索以後,才發現其實spring cloud 的每一個Project 能夠直接打成jar包運行,由於裏面自帶了tomcat容器。這也是spring cloud 的一大優點。
官方文檔:http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto-create-a-deployable-war-filehtml

2、打成war包部署

  • 更改pom.xml
<packaging>war</packaging>
  • 確保內置servlet container 不會干涉發佈該war包的servlet container,方案是標記內置servlet container 的依賴爲provided
<dependencies>
    <!-- … -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>provided</scope>
    </dependency>
    <!-- … -->
</dependencies>
  • 最後,將打好的war包放到tomcat下便可.

  • 注意:Spring cloud 打成war後部署到tomcat,若是使用application.properties 文件中配置的端口,會出現沒法訪問項目。查了一些資料發現以下問題。

application.properties中配置的server.port配置的是spring boot內置的tomcat的端口號, 打成war包部署在獨立的tomcat上以後, 你配置的server.port是不起做用的.java

3、打成jar包

基於上面的那個問題,若是打成jar包以後,使用內置的容器這個問題就完美解決!spring

  • pom.xml文件--想maven打包成jar,首先必定要有
<build>  
            <finalName>cyc</finalName>  
            <plugins>  
                <plugin>  
                    <groupId>org.springframework.boot</groupId>  
                    <artifactId>spring-boot-maven-plugin</artifactId>  
                </plugin>  
            </plugins>  
        </build>  
        <repositories>  
            <repository>  
                <id>spring-milestone</id>  
                <url>http://repo.spring.io/libs-release</url>  
            </repository>  
        </repositories>

這裏要注意:finalName打成包後的包名,其他的是maven的打包須要的文件,這裏配置就沒問題了。
其次是打包。
Center
debug as -> maven build,第一次打包的話會彈出上面的框,在框中填入package 就能夠了。
Centertomcat

  • 直接在項目的target目錄 中把jar包拿出來放到服務器上執行下面的命令
java  -jar  (jar包的包名)cyc.jar

就ok了!!!服務器

相關文章
相關標籤/搜索