idea配置多环境启动,dev、test、prod

idea配置多环境启动,dev、test、prod,第1张

应用场景:实际开发过程中,通常包含研发测试正式环境,为了对各环境在实际使用中隔离,maven配置支持对各环境区分启动

使用例子

一、pom添加以下内容

在pom文件<project>标签下添加如下内容

application-dev.yml增加如下配置, application-prod.yml active则为prod

对上面内容解析:首先添加profiles,设置启动或打包时的环境类型,设置后右侧会出现profile下面的内容,如下图

build下设置项目打包时文件名,设置包含或不包含的配置文件

二、分别以dev和prod启动项目

设置dev启动方式如下图,启动后访问Controller,输出了dev配置文件的内容

设置prod启动方式如下图,启动后访问Controller,输出了prod配置文件的内容

注意:一次只能选一个环境,不然默认是第一次选定的环境

三、以jar启动

配置maven打包,输入如下内容

打开jar包,查看只有application-dev.yml和application.yml,说明命令生效了

注意:也可以点击右侧package打包,profiles选择对应环境即可

可以看到打的包自带dev后缀

启动项目,命令如下

访问controller,打出日志

maven3在解决依赖冲突采用就近原则,在就近原则不能做出判断的情况下依据pom.xml的声明的先后顺序决定导入的jar。

jar包冲突多为传递性依赖的管理不当给项目带来的麻烦解决思路罗列如下:

1、首先查看当前项目的jar关系如果使用eclipse、idea等编辑器可打开pom.xml文档底部有Dependency Hierarchy可供查看jar的依赖情况。第二种使用maven插件的方式使用命令行:

mvn dependency:tree

结果中重要的是两个部分,首先是Used undeclared dependencies意值项目中使用到的,但是没有显示声明的依赖。这种依赖意味着潜在的风险。他是通过其他直接依赖导入的传递性依赖,当直接依赖升级时相关依赖的版本也会变化。可能导致当前项目报错,且不易察觉。另一个部分是Unused declared dependencies意指项目中未使用的,但显式声明的依赖。需要注意的是我们不应该直接删除了事而是应该仔细分析。因为这个命令行发现不了执行测试和运行时需要的依赖。

以上方法都可可完整的查看当前项目的jar情况,个人更喜欢使用命令行。

2、通过以上方法我们可以看到项目中引用jar版本号;接下来就是如何排除掉我们不想要版本的jar语法如下:

<dependency>

<groupId>.....</grooupId>

<artifactId>....</artifactId>

<version>...</version>

<exclusions>

<exclusion>

<groupId>.....</groupId>

<artifactId>.....</artifactId>

</exclusion>

</exclesions>

<dependency>

<!--exclusions可包含一个或多个exclusion元素-->

3、一下规避jar冲突的思路,如果项目中有直接用到某个jar而这个jar已通过传递依赖的方式引入到maven项目里了。最好排除这个传递依赖在pom里面明确的声明这个依赖。归类依赖,不断的优化依赖如,去除多余的依赖。

File->New->Project,然后选择maven,具体 *** 作见图(2):

新手一般选择quickstart,因为相关配置少,可以很快建好一个maven项目,如有需求可以选择与需求相关的其他archetype(比如如果是web项目,你可以选择maven-archetype-webapp,idea就会自动帮你把web目录建好)。

打开新建的maven项目后Messages窗口会出现图(6)的信息

这就说明maven在下载相关配置,不用着急,等一会儿,这是我们新建一个src文件夹用来储存java代码


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11566931.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存