基于spring boot 命令行启动的一些坑

目录
  • spring boot 命令行启动的一些坑
    • 1.spring boot项目启动时可以指定启动的参数
    • 2.使用–spring.profiles.active=test,无论如何都没办法修改环境
  • spring-boot命令行启动(指定端口启动)
    • springboot指定端口的三种方式
    • 方法一
    • 方法二

spring boot 命令行启动的一些坑

1.spring boot项目启动时可以指定启动的参数

例如:

java -jar Project.jar --spring.profiles.active=test

坑:

我们的配置文件中配置了多个环境,这时我们想启动测试环境,加载测试环境的相关配置文件,这样写没毛病吧!配置文件用的yml文件,这样启动项目无法加载指定的配置文件,原因未知,我们可以使用下面的这句命令,指定该环境就ok了

java -jar -Dspring.profiles.active=test Project.jar

这样就需要把你需要加载的配置文件统统的写进来

java -jar -Dspring.profiles.active=test,..,.., Project.jar

今天发现一个更好的解决方法,可以使用

spring.profiles.include # 后边跟上你要加载的配置文件的后缀
# 例如你需要加bootstrap-hystrix.yml文件,你可以这样写了
spring.profiles.include=hystrix
# 如果有多个,可以用','隔开

2.使用–spring.profiles.active=test,无论如何都没办法修改环境

今天我发现这个问题所在,这个其实是一个大乌龙。同时也是1问题中原因未知的问题所在,在springboot项目启动的主函数中,代码如下

SpringApplication.run(Application.class);

我原本是这样写的,没有传递参数args,所以无论如何也没办法修改环境,下面的这个是正确的

SpringApplication.run(Application.class, args);

spring-boot命令行启动(指定端口启动)

springboot指定端口的三种方式

  • 第一配置文件中添加server.port=9090
  • 第二在命令行中指定启动端口,比如传入参数一server. port=9000 java -jar bootsample. jar -- server.port=9000
  • 第三传入虚拟机系统属性java - Dserver.port=9000 -jar bootsample.jar

方法一

方法二

指定端口启动

java -jar *.jar --server.port=9090

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Spring Boot 项目启动失败的解决方案

    Spring Boot 项目是不是经常失败,显示一大堆的错误信息,如端口重复绑定时会打印以下异常: *************************** APPLICATION FAILED TO START *************************** Description: Embedded servlet container failed to start. Port 8080 was already in use. Action: Identify and stop the

  • SpringBoot java-jar命令行启动原理解析

    在spring boot里,很吸引人的一个特性是可以直接把应用打包成为一个jar/war,然后这个jar/war是可以直接启动的,而不需要另外配置一个Web Server.那么spring boot如何启动的呢?今天我们就来一起探究一下它的原理.首先我们来创建一个基本的spring boot工程来帮助我们分析,本次spring boot版本为 2.2.5.RELEASE. // SpringBootDemo.java @SpringBootApplication public class Spr

  • SPRING BOOT启动命令参数及源码详析

    前言 使用过Spring Boot,我们都知道通过java -jar可以快速启动Spring Boot项目.同时,也可以通过在执行jar -jar时传递参数来进行配置.本文带大家系统的了解一下Spring Boot命令行参数相关的功能及相关源码分析. 命令行参数使用 启动Spring Boot项目时,我们可以通过如下方式传递参数: java -jar xxx.jar --server.port=8081 默认情况下Spring Boot使用8080端口,通过上述参数将其修改为8081端口,而且通

  • springboot命令行启动的方法详解

    springboot命令行启动 创建的springboot项目想看看效果,不想打开idea等开发工具,使用直接使用命令行启动. maven的命令启动 需要将 jdk的bin目录和maven的bin目录添加到环境变量path中,若是没有,mvn就要用在maven的bin环境中的全路径 若是没有添加环境变量 mvn就要是E:\software\apache-maven-3.3.9\bin\mvn(安装路径\bin\mvn) java就要是C:\software\jdk\bin\java.exe(安装

  • 基于spring boot 命令行启动的一些坑

    目录 spring boot 命令行启动的一些坑 1.spring boot项目启动时可以指定启动的参数 2.使用–spring.profiles.active=test,无论如何都没办法修改环境 spring-boot命令行启动(指定端口启动) springboot指定端口的三种方式 方法一 方法二 spring boot 命令行启动的一些坑 1.spring boot项目启动时可以指定启动的参数 例如: java -jar Project.jar --spring.profiles.acti

  • spring boot 命令行启动的方式

    在使用spring boot 构建应用启动时,我们在工作中都是通过命令行来启动应用,有时候会需要一些特定的参数以在应用启动时,做一些初始化的操作. spring boot 提供了 CommandLineRunner 和 ApplicationRunner 这两个接口供用户使用. 1. CommandLineRunner 1.1 声明: @FunctionalInterface public interface CommandLineRunner { /** * Callback used to

  • Spring Boot命令行运行器的实现方法

    CommandLineRunner是一个带有run方法的简单spring引导接口.Spring Boot启动后将自动调用实现CommandLineRunner接口的所有bean的run方法. Command Line Runner在加载应用程序上下文之后以及Spring Application run方法完成之前执行,相当于你的应用的初始化过程,一般用来实现一些数据预先加载或预先处理. @SpringBootApplication <b>public</b> <b>cl

  • spring boot如何指定启动端口

    这篇文章主要介绍了spring boot如何指定启动端口,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 spring boot 默认端口为8080 1.修改为指定端口 (1)修改配置文件 src/main/resources/application.properties server.port=8081 (2)通过编码的方式来指定端口 在启动类中添加servletContainer方法 package com.example.demo; imp

  • Spring Boot优化后启动速度快到飞起技巧示例

    目录 引言 启动时间分析 启动优化 减少业务初始化 延迟初始化 Spring Context Indexer 关闭JMX 关闭分层编译 另外的思路 JAR Index APPCDS Heap Archive AOT编译 下线时间优化 优雅下线 Eureka服务下线时间 结束 引言 微服务用到一时爽,没用好就呵呵啦,特别是对于服务拆分没有把控好业务边界.拆分粒度过大等问题,某些 Spring Boot 启动速度太慢了,可能你也会有这种体验,这里将探索一下关于 Spring Boot 启动速度优化的

  • 详解基于Spring Boot/Spring Session/Redis的分布式Session共享解决方案

    分布式Web网站一般都会碰到集群session共享问题,之前也做过一些Spring3的项目,当时解决这个问题做过两种方案,一是利用nginx,session交给nginx控制,但是这个需要额外工作较多:还有一种是利用一些tomcat上的插件,修改tomcat配置文件,让tomcat自己去把Session放到Redis/Memcached/DB中去.这两种各有优缺,也都能解决问题. 但是现在项目全线Spring Boot,并不自己维护Tomcat,而是由Spring去启动Tomcat.这样就会有一

  • 基于Spring Boot不同的环境使用不同的配置方法

    spring 多文件配置: 1.properties文件 2.YAML文件 一.properties文件 在 Spring Boot 中, 多环境配置的文件名需要满足 application-{profile}. properties的格式, 其中{profile}对应你的环境标识, 如下所示. • application-dev.properties: 开发环境. • application-test.properties: 测试环境. • application-prod.propertie

  • 基于Spring Boot利用 ajax实现上传图片功能

    效果如下: 1.启动类中加入 SpringBoot重写addResourceHandlers映射文件路径 @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/imctemp-rainy/**").addResourceLocations("file:D:/E/"); } 设置静态资源路径 2.   表单

  • 基于Spring Boot的线程池监控问题及解决方案

    目录 前言 为什么需要对线程池进行监控 如何做线程池的监控 数据采集 数据存储以及大盘的展示 进一步扩展以及思考 如何合理配置线程池参数 如何动态调整线程池参数 如何给不同的服务之间做线程池的隔离 实现方案 前言 这篇是推动大家异步编程的思想的线程池的准备篇,要做好监控,让大家使用无后顾之忧,敬畏生产. 为什么需要对线程池进行监控 Java线程池作为最常使用到的并发工具,相信大家都不陌生,但是你真的确定使用对了吗?大名鼎鼎的阿里Java代码规范要求我们不使用 Executors来快速创建线程池,

随机推荐