1. 程式人生 > >關於springboot + dubbo 部署啟動方式(Windows版)

關於springboot + dubbo 部署啟動方式(Windows版)

專案結構

注:專案構建通過: http://start.spring.io/ 快速構建web 專案,
具體操作可以參考《SpringBoot使用SpringDataJPA完成資料查詢 -Demo》。
本次專案搭建應用的元件是springboot + dubbo + mybatis + redis +maven
演示是基於之前構建的專案為基礎
詳情可以參考:
SpringBoot + Dubbo + Mybatis 分層實現分散式服務
本次專案簡單敘述如何在springboot框架當中進行配置完成windows版的部署方案。
在基礎環境確定好了之後,我們專案的目錄結構如下:
專案結構與之前相同
可參考《

SpringBoot + Dubbo + Mybatis 分層實現分散式服務

部署介紹

本次詳細介紹使用springboot + dubbo 在windows 系統中實現部署方案,並詳解如何利用指令碼實現一鍵部署方案

 

我們用之前已經搭建好的專案為例,這裡專案搭建不詳細介紹,可以參考往期《SpringBoot + Dubbo + Mybatis 分層實現分散式服務

 

部署配置詳細情況下面一一介紹:

 

首先我們可以在dubbo提供者中也就是在專案hdd-doorplate-dubbo-server的這個模組中的pom檔案 利用maven的配置進行配置

<build>
   <filters>
     <filter>src/main/resources/application.properties</filter>
   </filters>
   <resources>
     <resource>
       <directory>src/main/resources</directory>
       <filtering>true</filtering>
     </resource>
     <resource>
       <directory>src/main/java</directory>
       <includes>
         <include>**/*.xml</include>
         <include>**/*.properties</include>
       </includes>
       <filtering>true</filtering>
     </resource>
   </resources>
   <plugins>
     <plugin>
       <groupId>org.apache.maven.plugins</groupId>
       <artifactId>maven-deploy-plugin</artifactId>
       <version>2.4</version>
       <configuration>
         <skip>true</skip>
       </configuration>
     </plugin>
     <plugin>
       <groupId>org.apache.maven.plugins</groupId>
       <artifactId>maven-jar-plugin</artifactId>
       <version>2.4</version>
     </plugin>
     <plugin>
       <artifactId>maven-assembly-plugin</artifactId>
       <configuration>
         <descriptor>src/main/assembly/assembly.xml</descriptor>
       </configuration>
       <executions>
         <execution>
           <id>make-assembly</id>
           <phase>package</phase>
           <goals>
             <goal>single</goal>
           </goals>
         </execution>
       </executions>
     </plugin>
     <plugin>
       <artifactId>maven-compiler-plugin</artifactId>
       <version>2.3.2</version>
       <configuration>
         <source>1.7</source>
         <target>1.7</target>
         <encoding>UTF-8</encoding>
       </configuration>
       <dependencies>
         <dependency>
           <groupId>org.codehaus.plexus</groupId>
           <artifactId>plexus-compiler-javac</artifactId>
           <version>1.8.1</version>
         </dependency>
       </dependencies>
     </plugin>
     <plugin>
       <artifactId>maven-resources-plugin</artifactId>
       <version>2.6</version>
       <configuration>
         <encoding>UTF-8</encoding>
       </configuration>
     </plugin>
     <plugin>
       <groupId>org.apache.maven.plugins</groupId>
       <artifactId>maven-surefire-plugin</artifactId>
       <version>2.10</version>
       <configuration>
         <skip>true</skip>
         <testFailureIgnore>true</testFailureIgnore>
       </configuration>
     </plugin>
   </plugins>
 </build>

 

然後我們新建模組assembly 這個模組,注意、這個模組需要和pom檔案中的配置資訊對應,名字起什麼無所謂

 

 

然後在assembly.xml中進行打包輸出的配置

 

<assembly>
   <id>assembly</id>
   <formats>
       <format>tar.gz</format>
   </formats>
   <includeBaseDirectory>true</includeBaseDirectory>
   <fileSets>
       <fileSet>
           <directory>src/main/assembly/bin</directory>
           <outputDirectory>bin</outputDirectory>
           <fileMode>0755</fileMode>
       </fileSet>
       <fileSet>
           <directory>target/classes</directory>
           <outputDirectory>conf</outputDirectory>
           <fileMode>0644</fileMode>
           <includes>
               <include>*.properties</include>
           </includes>
           <excludes>
               <exclude>log4j.properties</exclude>
           </excludes>
       </fileSet>
   </fileSets>
   <dependencySets>
       <dependencySet>
           <outputDirectory>lib</outputDirectory>
           <scope>runtime</scope>
       </dependencySet>
   </dependencySets>
</assembly>

 

我們包含的是所有的properties的檔案,除過log4j的檔案,所有的jar包全部放在lib的檔案,啟動指令碼放在bin檔案中

 

在bin檔案中編寫指令碼啟動方式

最後所有的配置都已經完成,在springboot中內建了tomcat容器,我們在pom檔案中可配置

<!-- Spring Boot Web 依賴 -->
   <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-web</artifactId>
   </dependency>

 

所以我們對外提供的介面的配置資訊,與上述配置資訊相同,也可以進行上述的maven配置來構建我們的啟動方式。

 

在所有的配置已經完成,來測試一下:我們先利用maven去打包

 

 

打完的包經過解壓得到的檔案,然後就可以在bin中找到啟動start.bat檔案,去啟動rpc服務。

 

啟動成功

 

我們在去啟動我們服務消費的web類,同理啟動

然後我們訪問測試:

由此可以見這次打包已經成功。

 

需要注意事項:

1:注意pom檔案和assembly.xml中檔案的對應關係

2:確認對外顯示的配置檔案包含的和未包含的配置

3:在啟動的指令碼中注意配置屬於自己的啟動類的包名

4:本專案使用的是dubbo,注意是否開啟註冊中心

5:核對訪問路徑和埠是否正確

 歡迎關注公眾號: