Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
733 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 Answer

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...