spring boot 怎么根据不同的配置打出不同的包

2019-11-18 22:59:04

有时候我们需要不同的环境使用不同的参数,所以我们需要进行配置来打出不同的jar包。


我们要可以通过设置pom.xml

<!-- 在maven中添加如下配置 -->
<profiles>
   <profile>
       <!-- 测试环境 -->
       <id>dev</id>
       <properties>
           <profiles.active>db, core, admin, wx,dev</profiles.active>
       </properties>
   </profile>
   <profile>
       <!-- 生产环境 -->
       <id>prod</id>
       <properties>
           <profiles.active>db, core, admin, wx,prod</profiles.active>
       </properties>
   </profile>
</profiles>
<!-- 和build同级别 -->
<build><build>


这样在idea maven工具框中,我们能看出多了 profiles :prod,dev选项,这样我们就可以通过勾选来打出不同的包。


当然我们也可以使用maven命令来打出不同的包,


mvn package -Pdev #打测试包,其中test为pom.xml中配置的id
mvn package -Pprod #打生产包


另附上jar启动方式,动态修改配置

测试不同配置的加载

     执行  java -jar xxx.jar  可以观察到服务端口被设置为8001,也就是默认的开发环境(dev)

     执行  java -jar xxx.jar --spring.profiles.active=test  可以观察到服务端口被设置为8002,也就是测试环境的配置(test)

     执行  java -jar xxx.jar --spring.profiles.active=pro  可以观察到服务端口被设置为8003,也就是生产环境的配置(pro)

 


  • 2018-12-26 15:06:00

    PHP-FPM运行状态的实时查看及监控详解

    php-fpm和nginx一样内建了一个状态页,对于想了解php-fpm的状态以及监控php-fpm非常有帮助。这篇文章就给大家详细介绍了PHP-FPM运行状态的实时查看及监控,有需要的朋友们可以参考学习,感兴趣的朋友们下面来一起看看吧。

  • 2018-12-26 16:12:56

    nginx+php-fpm模式php内存泄漏探究

    这里要重点说一下第三步骤。第三步涉及到php-fpm进程生命周期的东西。一个php-fpm的生命周期大致是这样的:模块初始化(MINIT)-> 模块激活(RINIT)-> 请求处理 -> 模块停用(RSHUTDOWN) -> 模块激活(RINIT)-> 请求处理 -> 模块停用(RSHUTDOWN)……. 模块激活(RINIT)-> 请求处理 -> 模块停用(RSHUTDOWN)-> 模块关闭(MSHUTDOWN)。在一个php-fpm进程的生命周期里,会有多次的模块激活(RINIT)-> 请求处理 -> 模块停用(RSHUTDOWN)的过程。这个“请求处理”的大致过程是这样的:php读取相应的php文件,对其进行词法分析,生成opcode,zend虚拟机执行opcode。

  • 2019-01-01 21:38:51

    php使用curl设置超时的重要性

    网站登录不了,原因是没有可用的 PHP 子进程来响应新的请求了。这可能是是由于PHP-curl 没有设置超时时间引起的。

  • 2019-01-01 21:42:34

    php-fpm 启动参数及重要配置详解

    如果file_get_contents请求的远程资源如果反应过慢,file_get_contents就会一直卡在那里不会超时。我们知道php.ini 里面max_execution_time 可以设置 PHP 脚本的最大执行时间,但是,在 php-cgi(php-fpm) 中,该参数不会起效。真正能够控制 PHP 脚本最大执行时间的是 php-fpm.conf 配置文件中的request_terminate_timeout参数。