昌邑市建设局官方网站,外贸移动商城网站建设,并提示网站菜单导航及用户登录,朝阳双桥网站建设Maven打包多环境#xff08;开发、测试、生产#xff09;配置教程 1、多环境配置的必要性1.1 没有进行多环境配置进行的操作复杂性1.2 不影响运行时配置 2、配置方案2.1 添加profile属性2.1 添加两个插件2.3 主配置文件中添加插值变量 3、效果展示3.1 勾选prod环境3.2 控制台… Maven打包多环境开发、测试、生产配置教程 1、多环境配置的必要性1.1 没有进行多环境配置进行的操作复杂性1.2 不影响运行时配置 2、配置方案2.1 添加profile属性2.1 添加两个插件2.3 主配置文件中添加插值变量 3、效果展示3.1 勾选prod环境3.2 控制台输出结果 1、多环境配置的必要性
1.1 没有进行多环境配置进行的操作复杂性
配置重复在每个环境开发、测试、生产中可能需要使用相同的插件、依赖和配置项。这样会导致在每个环境中进行重复的配置。环境特定配置某些配置项可能仅适用于特定环境例如数据库连接信息、文件路径等。如果不进行多环境配置这些特定于环境的配置项可能会被错误地应用到其他环境。构建过程复杂化由于没有将不同环境的配置分离开发人员可能需要在每个环境中手动执行一系列配置和构建操作。这样会导致构建过程变得复杂且容易出错。维护困难当项目需要调整配置以适应新环境时需要在每个环境配置文件中进行相应的修改。这将导致配置文件的维护变得困难且容易出错。
1.2 不影响运行时配置
执行多环境自动化配置后不会影响我们再IDEA上直接执行RUN操作此时主文件的配置会被下图配置替换。
2、配置方案
2.1 添加profile属性
请注意下属性片段中的注释。
profilesprofile!--不同环境Profile的唯一id--iddev/idactivationactiveByDefaulttrue/activeByDefault/activationproperties!--environment是自定义的字段名字随便起自定义字段可以有多个确保与配置文件一致--environmentdev/environment/properties/profileprofileidprod/idactivationactiveByDefaultfalse/activeByDefault/activationpropertiesenvironmentprod/environment/properties/profileprofileidtest/idactivationactiveByDefaultfalse/activeByDefault/activationpropertiesenvironmenttest/environment/properties/profile/profiles完成该属性的增加后Profiles菜单下就出现三个自定义的环境如下图所示默认激活的是dev环境。 2.1 添加两个插件 maven-resources-plugin 用于将资源配置文件中的动态变量进行替换。 maven-antrun-plugin 用于追加自定义日志消息在打包时候在程序执行完毕后控制台打印这是构建哪个环境的日志使得打包的环境一目了然避免出现打包错误导致打包时使用了一个环境的配置部署时环境搞错了。 其中 echo message[INFO] ${environment} 环境打包执行成功/就引用了environment属性。 pluginsplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-resources-plugin/artifactIdexecutionsexecutioniddefault-resources/idphasepackage/phasegoalsgoalcopy-resources/goal/goalsconfigurationoutputDirectorytarget/classes/outputDirectoryuseDefaultDelimitersfalse/useDefaultDelimitersdelimitersdelimiter/delimiter/delimitersresourcesresourcedirectorysrc/main/java/directoryincludesinclude**/*.xml/include/includesfilteringtrue/filtering/resourceresourcedirectorysrc/main/resources//directoryfilteringtrue/filteringincludesinclude**/*.yml/include/includes/resourceresourcedirectorysrc/main/resources//directoryexcludesexclude**/*.yml/exclude/excludes/resource/resources/configuration/execution/executions/pluginplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-antrun-plugin/artifactIdversion1.3/versionexecutionsexecutionidprint-custom-info/idphasepackage/phaseconfigurationtasksecho message[INFO] ${environment} 环境打包执行成功//tasks/configurationgoalsgoalrun/goal/goals/execution/executions/plugin/plugins2.3 主配置文件中添加插值变量 请注意主配置文件中引用的环境变量使用两个有的是${}这个可以在2.1中的插件进行配置。
delimitersdelimiter/delimiter
/delimiters3、效果展示
3.1 勾选prod环境 3.2 控制台输出结果