当前位置: 首页 > news >正文

临沂品牌网站制作高端网站定制的方法

临沂品牌网站制作,高端网站定制的方法,百度收录官网,网站开发语公司微服务细分太多#xff0c;最近跟我提说需要将几个微服务合为单体#xff0c;经过几天的查阅#xff0c;决定用二次打包的方式进行合并#xff0c;然后部署的时候在nginx改下合并的微服务转发路劲即可#xff0c;不需要前端修改路劲了。 方案 采用二次打包的方式进行…公司微服务细分太多最近跟我提说需要将几个微服务合为单体经过几天的查阅决定用二次打包的方式进行合并然后部署的时候在nginx改下合并的微服务转发路劲即可不需要前端修改路劲了。 方案 采用二次打包的方式进行合并利用maven-dependency-plugin解压插件先将各微服务的jar包解压再用maven-assembly-plugin进行合并打包为一个jar包。 合并前问题处理 1、由于包合并时相同的类会进行覆盖会导致找不到类等所以存在相同包下的相同类名作用不一致的话需要调整下各服务的包名、类 2、类注册的bean的name相同时会导致注册bean失败所以需要调整各服务有相同bean的name特别是FeignClient的contextId因为是以contextId作为bean的name。 3、重复扫描导致重复注册等如EnableJpaAuditing重复扫描导致重复注册jpaAuditingHandler所以在有用到EnableJpaAuditing的类上也加上ConditionalOnMissingBean(namejpaAuditingHandler)条件已经注册过的就不需要再注册了 4、因为每个微服务都有yml配置文件所以需要写个合并适配器将每个微服务的yml合并一起后续会另外开篇文件细说yml的合并。 合并步骤和代码 1、pom文件添加需要合并的微服务依赖 propertiesproject.build.sourceEncodingUTF-8/project.build.sourceEncodingproject.reporting.outputEncodingUTF-8/project.reporting.outputEncodingmodule1.version6.1.0/module1.versionmodule2.version6.1.0/module2.versionmodule3.version6.1.0/module3.version /properties dependencies //需要整合的微服务包type、scope需填写正确,其中groupId、artifactId、version按需填写即可dependencygroupIdcom.lfq.module1/groupIdartifactIdmodule1/artifactIdversion${module1.version}/versiontypejar/typescopeprovided/scope/dependencydependencygroupIdcom.lf1.module2/groupIdartifactIdmodule2/artifactIdversion${module2.version}/versiontypejar/typescopeprovided/scope/dependencydependencygroupIdcom.lf1.module3/groupIdartifactIdmodule3/artifactIdversion${module3.version}/versiontypejar/typescopeprovided/scope/dependency /dependencies2、pom文件添加解压插件将微服务解压到指定目录下 !-- 将指定执行包解包到指定目录下 -- plugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-dependency-plugin/artifactIdexecutionsexecutionidunpack-classes/idphasepackage/phasegoalsgoalunpack/goal/goalsconfigurationartifactItemsartifactItemgroupIdcom.lfq.module1/groupIdartifactIdmodule1/artifactIdoutputDirectory${project.build.directory}/work/addpack/module1/outputDirectory/artifactItemartifactItemgroupIdcom.lfq.module2/groupIdartifactIdmodule2/artifactIdoutputDirectory${project.build.directory}/work/addpack/module2/outputDirectory/artifactItemartifactItemgroupIdcom.lfq.module3/groupIdartifactIdmodule3/artifactIdoutputDirectory${project.build.directory}/work/addpack/module3/outputDirectory/artifactItem/artifactItems/configuration/execution/executions /plugin 3、pom文件添加合并打包插件将解压目录下的文件和本工程代码合并打包 !-- 将解开的执行包与本工程代码合并打包 -- plugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-assembly-plugin/artifactIdversion3.3.0/versionconfigurationrecompressZippedFilesfalse/recompressZippedFiles/configurationexecutionsexecutionidmake-assembly/idphasepackage/phasegoalsgoalsingle/goal/goalsconfigurationarchive !-- 标红部分是合并后的执行包的启动类MANIFEST.MF文件我这里选module1解压下的文件按需配启动类 --manifestFile${project.build.directory}/work/addpack/module1/META-INF/MANIFEST.MF/manifestFile/archivedescriptorsdescriptorassembly.xml/descriptor !-- 加载指定的assembly配置文件 --/descriptors/configuration/execution/executions !-- 标红部分是合并yml处理的包如果需要合并yml文件需自定义适配器对yml进行合并处理再将依赖包添加进来 -- !-- dependenciesdependencygroupIdcom.fql.merge/groupIdartifactIdmergeHandle/artifactIdversion1.0-SNAPSHOT/version/dependency/dependencies -- /plugin 4、添加assembly.xml文件描述合并打包 assembly !-- id自定义 --idlfq/idformats!-- 打为jar包 --formatjar/format/formatsincludeBaseDirectoryfalse/includeBaseDirectoryfileSets!-- 先将本工程内容输出 --fileSetdirectory${project.build.directory}/classes/directoryoutputDirectoryBOOT-INF/classes/outputDirectory/fileSet!-- 输出解压目录下的内容 --fileSetdirectory${project.build.directory}/work/addpack/module1/directoryoutputDirectory./outputDirectory !-- 这里是module1下的DbDataController类不需要输出参与合并打包即打包后的jar包没有DbDataController类按需配置 --excludesexclude**/DbDataController.class/exclude/excludes/fileSetfileSetdirectory${project.build.directory}/work/addpack/module2/directoryoutputDirectory./outputDirectory !-- 这里是module2下的application.yml不需要输出参与合并打包按需配置 --excludesexclude**/application.yml/exclude/excludes/fileSetfileSetdirectory${project.build.directory}/work/addpack/module3/directoryoutputDirectory./outputDirectory/fileSet/fileSets!--标红部分是对yml文件合并处理如果没有实现可去掉 -- containerDescriptorHandlerscontainerDescriptorHandlerhandlerNameyml-merge/handlerNameconfigurationfilePattern.*/application.yml/filePatternoutputPathBOOT-INF/classes/application.yml/outputPath/configuration/containerDescriptorHandler/containerDescriptorHandlers!-- 本工程依赖 --dependencySetsdependencySetunpackfalse/unpackuseProjectArtifactfalse/useProjectArtifactoutputDirectoryBOOT-INF/lib/outputDirectory/dependencySet/dependencySets /assembly 后续执行clean install 即可得到一个jar包。
http://www.tj-hxxt.cn/news/222022.html

相关文章:

  • 做网站项目流程国内最近新闻
  • 公司网站制作教学今天发生的国外重大时事新闻
  • 高端网站建设公司费用在线代理上网
  • wordpress被改密码seo学院培训班
  • 塘厦镇做网站网页设计培训周志
  • 国外设计学院网站平台网站建设需要什么技术
  • 广东省城乡住房建设厅网站首页wordpress comment_form
  • 用php做的单车租赁网站网站开发员岗位职责
  • 怎么给自己做个网站吗网站接入服务提供商
  • python 建设网站售后服务网站建设
  • 吉林建设公司网站开一家网络公司需要什么
  • 企业网站备案材料中国容桂营销网站建设
  • 网页设计与网站建设批量建wordpress
  • 网站多久被百度收录dedecms做中英文网站
  • 设计一个电商网站的首页做拍卖的网站
  • powershell做网站郑州全平台广告推广
  • 门户网站集约化建设前端学校网站开发视频
  • 聊城专业网站建设公司哪家好大数据获客
  • 猪八戒做网站排名腾讯云加wordpress教程
  • 网站建设概念股wordpress换不了密码错误
  • 库尔勒网站建设电话遵义网站制作的网站
  • 服务器IP做网址打开网站阿里云备案多个网站吗
  • dw网站结构图怎么做win10本地安装wordpress
  • 知名seo网站优化公司广州海珠网站开发方案
  • 做视频网站用哪个模板网站规划与开发
  • 怎么做论坛社区网站建一个网站怎么赚钱
  • 上海市工程建设信息网官方网站互动平台有效学时
  • 网站模板安全管理系统线上推广平台
  • 网站没有域名哪个网站做logo设计师
  • 有什么网站可以做电子wordpress电子邮件要用什么