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

广东网站开发搭建app小程序开发团队

广东网站开发搭建,app小程序开发团队,安卓市场app下载,php免费开源cms系统springboot配置多项目下统一切换不同环境变量profile办法 springboot 适合于微服务那种多项目开发#xff0c;每一个小项目就是一个springboot 项目#xff0c;比如我们这样#xff1a; 问题发生#xff1a; 我们知道springboot 项目中的配置文件application.propertie…springboot配置多项目下统一切换不同环境变量profile办法 springboot 适合于微服务那种多项目开发每一个小项目就是一个springboot 项目比如我们这样 问题发生 我们知道springboot 项目中的配置文件application.properties 几乎我们的配置信息都写在了这边非常方便但常常我们会多环境应用比如开发环境 、测试环境 、正式环境 等不同的配置信息前一段时间对我们公司的一个项目在多个省进行了部署我改来改去差点疯了同事的提醒也深刻体会到如果单用一个配置文件绝对不行。 配置办法 对于上边的贴出的那个例子介绍如下 当然springboot 项目默认为jar 但是有时候我们也会像上边一样以war 包运行。针对于不同的包类型我发现配置是不同的。 1、每一个子项目中创建dev 、product 等多个不同的配置文件 大家这里可能说是不是太麻烦每个子项目都要配一个其实是可以都配置到父pom.xml 里的只不过我嫌看起来不直观所以都每个环境都给搞了一个后边我会写上直接一个配置文件搞定的写法。 如上图所示在两个子项目springboot-study-rest 、springboot-study-service 中的resources 下分别都创建application-dev.properties 和application-product.properties 两个文件。 然后在它们原有的application.properties 文件中都填写下边这种配置 #多环境配置 spring.profiles.activeactivatedProperties上边的activatedProperties 会在下边第二步 中提到。 然后对于dev 、product 的不同环境下的配置分别写到对应的配置文件中即可。 2、父pom 添加profiles 首先找到项目的父pom.xml ,如果你单项目那就找它自己就行了找到后加上如下配置 profiles!-- 默认开发环境 --profile!--id唯一不能有重复的--iddev/id!--配置--properties!-- 环境标识需要与配置文件的名称相对应 --activatedPropertiesdev/activatedProperties/propertiesactivation!-- 默认环境如果设置了这个则项目运行默认使用这个profile的配置 --activeByDefaulttrue/activeByDefault/activation/profile!-- 生产环境 --profileidproduct/idpropertiesactivatedPropertiesproduct/activatedProperties /properties/profile/profiles上边中你会看到在第一步 中配置的那个activatedProperties它们是一一对应的并且两边添加上 即可。 上边这段我是放置在父pom.xml 的下边这个位置,位置无所谓的 3、war 包的子pom 添加resources 如下 buildfinalNamespringboot-study-rest/finalNamepluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdexecutionsexecutiongoalsgoalrepackage/goal/goals/execution/executions/pluginplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-war-plugin/artifactIdconfigurationfailOnMissingWebXmlfalse/failOnMissingWebXml/configuration/plugin/pluginsresources!-- 打包时将jsp文件拷贝到META-INF目录下--resource!-- 指定resources插件处理哪个目录下的资源文件 --directorysrc/main/webapp/directory!--注意此次必须要放在此目录下才能被访问到--targetPathMETA-INF/resources/targetPathincludesinclude**/**/include/includes/resourceresourcedirectorysrc/main/resources/directoryincludesinclude**/**/include/includes!--不加这个就会报错对于多配置文件的这种必须设成true--filteringtrue/filtering/resource/resources/build上边这段是我把整个pom.xml 里 标签中的东西贴上了大家可以参照这里只说resources ,注意下边有一个 filteringtrue/filtering一定要设置成true 否则项目运行的时候application.properties 文件中的引用变量值变不过来。 3、jar 包的子pom 中不需要加resource 我亲自试过下边是我的jar包中,pom.xml 中的 标签内容 buildplugins!--springboot项目打包必须要带的--plugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdversion1.5.1.RELEASE/versionexecutionsexecutiongoalsgoalrepackage/goal/goals/execution/executions/plugin!--plugin--!--groupIdorg.apache.maven.plugins/groupId--!--artifactIdmaven-compiler-plugin/artifactId--!--version3.3/version--!--configuration--!--source1.8/source--!--target1.8/target--!--/configuration--!--/plugin--!--plugin--!--groupIdorg.apache.maven.plugins/groupId--!--artifactIdmaven-war-plugin/artifactId--!--version2.6/version--!--configuration--!--failOnMissingWebXmlfalse/failOnMissingWebXml--!--/configuration--!--/plugin--/plugins!--resources--!--resource--!--directorysrc/main/resources/directory--!--includes--!--includeapplication.properties/include--!--/includes--!--filteringtrue/filtering--!--/resource--!--resource--!--directorysrc/main/resources/directory--!--includes--!--include**/*/include--!--/includes--!--/resource--!--/resources-- /build上边我已经把其他东西都注释掉了只留下一个plugins 标签。编译之后就可以替换成功。而war 包却不能那样必须要有resources 标签并且对其中的filter 设置成true才可以。 到此可以直接运行项目如果都出现下边这行即配置完成。 如果上图的位置中还是activatedProperties 说明没有成功。 下边说一下一个配置文件搞定的办法 其实通过以上的配置大家估计也看出来了如何只使用一个配置文件配置除去第一步 其他跟上边是一样的只不过需要把你对于不同环境的配置信息都移到了父pom.xml 中即可。 1、配置信息写到父pom.xml中 profiles!-- 默认开发环境 --profile!--id唯一不能有重复的--iddev/id!--配置--properties!-- 环境标识需要与配置文件的名称相对应 --restport8076/restportserviceport8089/serviceportzkHosthttp://localhost:8983/solr/zkHostdriverclassoracle.jdbc.driver.OracleDriver/driverclass/propertiesactivation!-- 默认环境如果设置了这个则项目运行默认使用这个profile的配置 --activeByDefaulttrue/activeByDefault/activation/profile!-- 生产环境 --profileidproduct/idpropertiesrestport30000/restportserviceport30001/serviceportzkHosthttp://113.11.11.11:8983/solr/zkHostdriverclasscom.microsoft.sqlserver.jdbc.SQLServerDriver/driverclass/properties/profile/profiles即把我们的配置都写到了每一个profiles下的properties 中了。 2、application.properties 文件引用 springboot-study-rest 项目中的application.properties 文件中如下 server.portrestport spring.data.solr.zk-hostzkHostspringboot-study-service项目中的application.properties 文件中如下 server.portserviceport spring.datasource.driver-class-namedriverclass3、配置完成后运行项目。 配置完成后运行项目因为现在没有了dev 、product 的properties 文件了那运行后的日志会是这样的即default ,没关系意思就是说使用的是application.properties 文件中的内容。 4、其他配置参照上边那种配置方法即可 对于其他的关于各个项目的pom.xml 配置就参照上边写的吧都一样了。 这样看来下边的这种配置方式更加简洁。可能大部分人会更偏向于接受后边的这种配置。 配置失败的原因分析 可能我写的不够详细大家在配置中会遇到失败的问题我觉得最可能引起错误的原因主要有下边这几个 1、maven 的配置没有更新因为我们改了些配置即需要重新更新下maven 配置即可。 2、项目未编译 如果你配置正确还没有启动成功十之八九的原因在这里你只需要对项目重新clean install 即可。即把旧的class文件及配置全部清除掉再重新编译打包即可。 3、配置对应的名称写错不对应 ,即类似于我们在properties 文件中的引用, 之间的内容必须与profile 中的properties 标签中的名字对应如果错了就替换不成功的如果没有那肯定也是替换不了的。 4、war 包中的resources 下的filter 未设置成true 。
http://www.yutouwan.com/news/468659/

相关文章:

  • adsl服务器建网站太原搭建网站的公司哪家好
  • 手机网站做多少钱做个类似淘宝的网站怎么做
  • 那些免费网站做推广比较好毕设做网站可以得高分吗
  • 公司网站建设合同交印花税吗青海省建设工程监理协会网站
  • 东莞微信网站商城建设投注类网站怎么做自动软件
  • 做性的视频网站云南最大的互联网公司
  • phpcms做汽车网站南通注册公司
  • 建设网站一定要电脑吗办公室装修怎么做账
  • 广西执业药师培训网站接广告赚钱的平台
  • 网站应该如何推广广州seo地址
  • 陕西因酷网站建设oppo软件商店安装
  • 一个公司可以做两个网站么计算机二级网页制作基础
  • 自建站跨境电商手机平台网站开发
  • 网站 域名解析出错wordpress网站有支付功能吗
  • 做网站策划需要用什么软件好的俄文网站设计
  • 企业网站建设国内外差异上海虹口网站建设公司
  • 现在网站开发语言韩国的汽车设计网站
  • 邯郸建立网站费用wordpress中文免费企业模板
  • 网站怎么做熊掌号银川网站建设设计
  • 苏州seo网站管理wordpress免费主
  • 广东微信网站建设价格网站案例欣赏
  • 互联网优化是什么意思北京seo代理商
  • 网站正在建设模板wordpress 阅读量
  • 延安城乡建设规划局网站做网站的时候怎么把图片往左移
  • 张掖网站建设公司盐城市建设银行网站
  • 镇江大港南站市场推广方式有哪几种
  • 网站源模板开淘宝店怎么做充值网站
  • 中国铁道建设协会网站霍山网站建设
  • 制作视频软件哪个好如何优化关键词提升相关度
  • 公司建网站怎么弄网站空格键代码