Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
738 views
in Technique[技术] by (71.8m points)

java - Run jar with spring profile environment variable

I'm trying to use a spring profile argument to run a jar file, the profile isn't working:

java -jar -Dspring.profiles.active="test" build/libs/moley2-0.0.1-SNAPSHOT.jar

Here is my application.yml file:

spring:
  profiles: dev
server:
  port:8000
---
spring:
  profiles: test
server:
  port:9000

The jar was created using gradle build in the projects root directory. Running the jar with the command provided starts on port 8080 so it seems like the profile isn't loading. I'm sure I'm missing something simple here as I'm new to gradle / spring. Thanks in advance for any suggestions.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

The property server should be:

server:
  port: 9000

Instead of:

server:
  port:9000

A space is missing between the colon and the value.


Also notice that configuring the profile as:

spring:
  profiles: dev

is deprecated since 2.4.0 version and should be replaced with:

spring:
  config:
    activate:
      on-profile: dev

More info in the doc. Or a tutorial here.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...