关于springboot + dubbo 部署启动方式(Windows版)

版权声明:原创文章欢迎转载,转载请备注来源:https://blog.csdn.net/weixin_41986096 欢迎关注微信公众号摘星族 https://blog.csdn.net/weixin_41986096/article/details/85689756

项目结构

注:项目构建通过: 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:核对访问路径和端口是否正确

 欢迎关注公众号:

猜你喜欢

转载自blog.csdn.net/weixin_41986096/article/details/85689756
今日推荐