陕西省信用建设门户网站,服务好的扬中网站优化,开发公司名字大全,网站建设英语怎么说制作通用模块jar包
通用模块不是运行的#xff0c;而且要被其他模块引入的#xff0c;所以该模块不能采用springboot打包方式制作jar包#xff0c;否则其他模块无法引入通用模块。
1、修改通用模块#xff0c;设置模块为非Springboot项目
?xml version1.0而且要被其他模块引入的所以该模块不能采用springboot打包方式制作jar包否则其他模块无法引入通用模块。
1、修改通用模块设置模块为非Springboot项目
?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0https://maven.apache.org/xsd/maven4.0.0.xsdmodelVersion4.0.0/modelVersion
!-- parent--
!-- artifactIdshopping/artifactId--
!-- groupIdcom.itbaizhan/groupId--
!-- version1.0-SNAPSHOT/version--
!-- /parent--groupIdcom.itbaizhan/groupIdartifactIdshopping_common/artifactIdversion0.0.1-SNAPSHOT/versionnameshopping_common/namedescriptionDemo project for Spring Boot/descriptionpropertiesjava.version11/java.versionproject.build.sourceEncodingUTF8/project.build.sourceEncodingproject.reporting.outputEncodingUTF8/project.reporting.outputEncoding/propertiesdependencies
!-- dependency--
!--
groupIdorg.springframework.boot/groupId--
!-- artifactIdspring-boot-starter/artifactId--
!-- /dependency--!-- web --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-bootstarter-web/artifactIdversion2.7.0/version/dependency!-- lombok --dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion1.18.24/version/dependency!-- MybatisPlus --dependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-bootstarter/artifactIdversion3.5.0/version/dependency
!-- dependency--
!--
groupIdorg.springframework.boot/groupId
--
!-- artifactIdspring-bootstarter-test/artifactId--
!-- scopetest/scope--
!-- /dependency--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-bootstarter-data-elasticsearch/artifactIdversion2.7.0/version/dependency!-- JWT --dependencygroupIdcom.auth0/groupIdartifactIdjavajwt/artifactIdversion3.4.0/version/dependency/dependenciesbuild
plugins!-- 公共模块不要以springboot方式打包 --
!-- plugin--
!--
groupIdorg.springframework.boot/groupId
--
!-- artifactIdspringboot-maven-plugin/artifactId--
!-- configuration--
!-- excludes--
!-- exclude--
!-- groupIdorg.projectlombok/groupId--
!-- artifactIdlombok/artifactId--
!-- /exclude--
!-- /excludes--
!-- /configuration--
!-- /plugin--/plugins/build
/project2、修改shopping父工程的pom文件通用模块不是父工程的子模块
!-- 子模块 --
modules!-- 通用模块包含实体类、服务接口、工具类等--!-- moduleshopping_common/module--!-- 商品服务 --moduleshopping_goods_service/module
/modules
3、使用Maven工具发布通用模块 运行成功后生成以下文件 在父工程添加制作Docker镜像的Maven插件
buildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-mavenplugin/artifactId/plugin!-- 打包时跳过测试 --plugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-surefireplugin/artifactIdversion2.22.2/versionconfigurationskipTeststrue/skipTests/configuration/plugin!-- docker-maven-plugin--plugingroupIdcom.spotify/groupIdartifactIddocker-mavenplugin/artifactIdversion1.2.2/versionconfiguration!-- Docker路径 --dockerHosthttp://192.168.0.80:2375/dockerHost!-- Dockerfile定义 --baseImageopenjdk:11/baseImage!-- 作者 --maintainerittxc/maintainerresourcesresource!-- 复制jar包到docker容器指定目录 --targetPath//targetPath!-- 从哪个包拷贝文件target包 --directory${project.build.directory}/directory!-- 拷贝哪个文件 --include${project.build.finalName}.jar/include/resource/resourcesworkdir//workdir!-- 运行jar包的命令时设置运行环境为prod生产环境会自动读取applicationprod.yml配置文件 --entryPoint[java, -jar,${project.build.finalName}.jar,--spring.profiles.activeprod]/entryPointforceTagstrue/forceTags!-- 镜像名 --imageName${project.artifactId}/imageName!-- 镜像版本 --imageTagsimageTag${project.version}/imageTag/imageTags/configuration/plugin/plugins
/build
部署项目容器 我们学习过程中使用的只有一台个人主机而每一个模块在 部署时都会启动一个容器将20多台容器部署到同一台虚拟机 中是不现实的个人电脑也无法支持这么多容器部署 在一起。在工作中我们会有很多服务器部署分布式项目。 1、给广告服务的提供者编写配置文件 application-prod.yml 该文件进行生产环境配置。
# 端口号
server:port: 9004
# 日志格式
logging:pattern:console: %d{HH:mm:ss.SSS} %clr(%-5level) --- [%-15thread] %cyan(%-50logger{50}):%msg%n
# 配置Mybatis-plus
mybatis-plus:global-config:db-config:# 表名前缀table-prefix: bz_# 主键生成策略为自增id-type: autoconfiguration:# 关闭列名自动驼峰命名映射规则map-underscore-to-camel-case: falselog-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 开启sql日志
spring:# 数据源datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://192.168.0.176:3306/baizhanshopping?serverTimezoneUTCusername: rootpassword: root# redisredis:host: 192.168.0.176port: 6379timeout: 30000jedis:pool:max-idle: 8max-wait: -1max-active: 8min-idle: 0
dubbo:application:name: shopping_category_service # 项目名registry:address: zookeeper://192.168.0.176 #注册中心地址port: 2181 # 注册中心端口号timeout: 10000 # 注册到zk上超市时间,msprotocol:name: dubbo # dubbo使用的协议port: -1 # 自动分配端口scan:base-packages: com.itbaizhan.shopping_category_service.service # 包扫描 2、给广告服务的消费者编写配置文件 application-prod.yml 该文件进行生产环境配置。
# 端口号
server:port: 8002
# 日志格式
logging:pattern:console: %d{HH:mm:ss.SSS} %clr(%-5level) --- [%-15thread] %cyan(%-50logger{50}):%msg%n
dubbo:application:name: shopping_category_customer_api #项目名registry:address: zookeeper://192.168.0.176 #注册中心地址port: 2181 # 注册中心端口号timeout: 10000 # 注册到zk上超市时间,msprotocol:name: dubbo # dubbo使用的协议port: -1 # 自动分配端口 3、将广告服务的提供者和消费者打包并生成Docker镜像 4、启动广告服务的提供者和消费者容器
docker run -d -p 9004:9004 shopping_category_service
docker run -d -p 8002:8002 shopping_category_customer_api 5、测试查询所有广告功能ip地址:8002/user/category/all