包含ideaprofile的词条

本篇文章给大家谈谈ideaprofile,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

如何在idea,maven projects中,选择profiles为dev

配置maven环境变量

M2_HOME:D:\workspace\maven\apache-maven-3.0.5

Path:;%M2_HOME%/bin;

检查是否成功,打开CMD:

Mvn -v

mvn install 会将项目生成的构件安装到本地Maven仓库薯早橘

mvn deploy 用来将项目生成的构件分发到远程Maven仓库

D:\mvn archetype:generate:在D:数团盘构建maven标准项目睁盯目录结构

idea设置activeprofile

profile能让你为一个特殊的环境自定义一个特殊的构建;profile使得不同环境间构建的可移植性成为可能。Maven中的profile是一组可选的配置,可以用来设置或者覆盖配置默认值。有了profile,你就可以为不同的环境定制构建。profile可以在pom.xml中配置,并给定一个id。然后你就可以在运行Maven的时候使用的命令行标记告诉Maven运行特定profile中的目标。

profile可以让我们定义一系列的配置信息,然后指定其激活条件。这样我们就可以定义多个者旦碧profile,然后每个profile对应不同的激活条件和配置信息,从而达到不同环境使用不同配置信息的效果。比如说,我们可以通过profile定义在jdk1.5以上使用一套配置信息,在jdk1.5以迟让下使用另外一套配置信息;或者有时候我们可以通过操作系统的不同来使用不同的配置信息,比如windows下首举是一套信息,linux下又是另外一套信息,等等。

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

应用场景:实际开发过程中,通常包含研发好氏测试正式环境,为了对各环境在实际使用中隔离,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,打出日志

mac下idea设置spring.profiles.active问题

在springboot项目中,通过idea在配置spring.profiles.active

(1)在windows下点击idea的启动,可以通过System.getProperty("spring.profiles.active")获取到dev值

(2)在mac下点击idea的樱亏启动,同样的配置,但通过System.getProperty("spring.profiles.active")时获取到的值是null;

对比:

(1)在windows启动时,控制台输出:

参数设置被直接以-Dspring.profiles.active=dev追加到了 java命令之后,是以虚拟机参数进行设置

(2)在mac启动时,控制台输出:

参数设置被直接以--spring.profiles.active=dev追加到了 启动类命脊灶神令之后

在命令运行时,连续两个减号 --就是对application.properties中属性值进行赋值的标志。

那么在mac下可以通过设置VM options来达到windows相同的效果

这时,命令窗会出现:

        但是这样的话就会出现多个spring.profiles.active(-Dspring.profiles.active=dev和最末尾--spring.profiles.active=dev);那么两个值最终取的是哪个呢? 按照springboot配置加载优先级来看,最终程序中使用优先级更高的--spring.profiles.active;

        需要注意:-Dspring.profiles.active=dev是将值设置到了虚拟机中,通过System.getProperty("spring.profiles.active")可以获取到dev;但是使用--spring.profiles.active=dev使用System.getProperty("spring.profiles.active")是获取不到的。

        Spring Boot 所提供的配置优先级顺序比较复杂。按照优先级从高到低的顺序,具体的列表如下:

1.命令行参数。

2.通过 System.getProperties() 获取的 Java 系统参数。

3.操作系统环境变量。

4.从 java:comp/env 得到的 JNDI 属性。

5.通过 RandomValuePropertySource 生成的“random.*”属性。

6.应用 Jar 文件之外的属性文件。(通过spring.config.location参数)

7.应用 Jar 文件内部的属性文件。

8.在辩配应用配置 Java 类(包含“@Configuration”注解的 Java 类)中通过“@PropertySource”注解声明的属性文件。

9.通过“SpringApplication.setDefaultProperties”声明的默认属性

[img]

关于ideaprofile和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

标签列表