2016-12-19 1 views
0

Ich habe eine Feder Boot-Eigenschaften mit drei Eigenschaften Dateien: enter image description hereLaden Frühjahrs- {env} .properties in IntelliJ 2.016,3

Ich habe eine Klasse, die in application-local.properties Datei definierten Werte verwendet, die ich dachte, gewöhnungs würde, weil anwendungs ​​Eigenschaften `spring.profiles.active local =

Als ich in IntelliJ starten, sehe ich in der Konsolenprotokolle:

Loaded config file 'file:.../build/resources/main/application.properties' (classpath:/application.properties) 
2016-12-18 20:10:17.596 DEBUG 29999 --- [ restartedMain] o.s.b.c.c.ConfigFileApplicationListener : Loaded config file 'file:.../build/resources/main/application-local.properties' (classpath:/application-local.properties)` 
Skipped (empty) config file 'file:...build/resources/main/application-local.properties' (classpath:/application-local.properties) for profile local 

er sagt es die leere Konfigurationsdatei übersprungen aber wie n Ich überprüfe "Build/Ressourcen/main/application-local.properties", dann sehe ich die Werte dort.

Die folgende Klasse verfügt jedoch nicht über die Eigenschaften, wenn ich sie in IntelliJ als Spring Boot-Anwendung ausführe. Es wirft einen Null-Zeiger, da diese Null ist:

@Value("${myapp.ApiKey}") 
private String apiKey; 

@Value("${myapp.ApiSecret}") 
private String apiSecret; 

@Value("${myapp.user}") 
private String user; 

in der Anwendungskonfiguration habe ich versucht, aktive Profile, Programmargumente und Umgebungsvariablen verwenden.

Allerdings, wenn ich von der Kommandozeile ausgeführt wird:

java -jar -Dspring.active.profiles=local build/libs/myjar-0.0.1-SNAPSHOT.jar 

dann funktioniert es ganz gut. Ich bin sicher, dass das vorher funktioniert hat, aber nicht sicher, ob die IntelliJ-Version die gleiche war. Irgendwelche Tipps, wie Sie die richtige Version meiner application.properties verwenden können?

Antwort

-1

Welche Federstartversion verwenden Sie? Wenn Sie die neueste verwenden sollte diese

sein

-Dspring.profiles.active=local

http://docs.spring.io/spring-boot/docs/current/reference/html/howto-properties-and-configuration.html#howto-set-active-spring-profiles

+0

ich das schon zu IntelliJ hinzugefügt, und es wird nicht abgeholt. Wie erhalte ich IntelliJ, um die richtige Eigenschaftendatei anzuzeigen? – sonoerin

+0

Ihre Frage bedeutet das Gegenteil. Zuerst haben Sie das falsche Flag 'java -jar -Despring.active.profiles = local' und' java -jar -Dspring.profiles.active = local' verwendet. Zweitens, ich denke nicht, dass Sie Spring auf Ihre Eigenschaftendatei verweisen müssen, da Sie sie mit dem Namen Ihres Profils suffigiert haben, also sollte Spring das automatisch auswählen. Wenn Sie immer noch neugierig sind, wie Sie das tun, können Sie den Speicherort der Eigenschaftendatei mit diesem Flag '-Dspring.config.location =/path/to/file.properties' angeben. – Thanos

+0

Also auf Ihre' application.properties' Datei, die Sie festgelegt haben 'spring.profiles.active = local'? – Thanos

Verwandte Themen