我们使用spring的时候都会有配置文件,比如application.properties、log4j.properties和mybatis-config.xml等等。而我们一般都会有不同的环境需要部署:开发环境、测试环境和生产环境,而不同的环境则会有不同的配置,比如数据库ip。解决这个问题,使用pom文件的profile配置
pom
添加如下
<profiles>
<!--开发环境-->
<profile>
<id>dev</id>
<!--envv就是动态加载的参数-->
<properties>
<envv>dev</envv>
</properties>
<!--默认是开发环境-->
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<!--测试环境-->
<profile>
<id>test</id>
<properties>
<envv>test</envv>
</properties>
</profile>
</profiles>
resource目录
创建一个application-dev.yml及application-test.yml及application.yml文件
- application-dev.yml
server:
port: 8081
- application-test.yml
server:
port: 8090
- application.yml
spring:
profiles:
active: @envv@
@envv@要和pom里面动态加载的参数一样
- application.yml里面也可以放置一些公共的部分
- 不同环境如果 使用@value 定义属性的话, application.yml里面也要有相同的属性.即使默认值为空
例如: application-test.yml/application-dev.yml 都有 aaa.bb=某一个值,那application.yml也要有aaa.bb=某一个默认值
IDEA 启动

勾选对应的环境即可启动.有可能启动老是报错,暂时忽略,直接打包之后看启动效果.如果遇到打包失败,记得及时清除缓存.
dos命令行启动
java -jar jar包 --spring.profiles.active=dev
java -jar jar包 --spring.profiles.active=test
Windows启动
新建一个XXX.bat 脚本
脚本里面内容:start javaw -jar XXXXXXXXX.jar 就可以实现nohup的效果
start javaw -jar XXXXXXXXX.jar
查看端口是否启动:netstat -aon|findstr “443” [443就是端口,只针对Windows]
2221

被折叠的 条评论
为什么被折叠?



