2015-07-06 13 views
6

Mi chiedo se sia possibile aggiungere i parametri aggiuntivi di Spring, ad esempio -Dspring.profiles.active=prod, all'applicazione di avvio Spring in caso di esecuzione come service.Aggiungi parametri aggiuntivi all'applicazione Spring Boot

ho controllato lo script che è stato generato automaticamente dal spring-boot-maven-plugin:

command="$javaexe -jar -Dsun.misc.URLClassPath.disableJarChecking=true $jarfile [email protected]"

quindi forse può essere fatto tramite le opzioni del plugin Maven, ma non abbiamo trovato nessuna eccezione di argomenti JVM che non è così utile ...

risposta

4

Non sono riuscito a trovare alcuna soluzione che includesse quella descritta in questione - sembra che anche i parametri aggiuntivi del plug-in non funzionino.

Alla fine l'ho risolto utilizzando systemd service approach.

Sembra così e funziona perfettamente:

[Unit] 
Description=Some app 
After=syslog.target 

[Service] 
ExecStart=java -Dspring.profiles.active=production -jar /home/apps/monitoring-app-1.0.0.jar 

[Install] 
WantedBy=multi-user.target 
+0

Sei sicuro che questo sta funzionando? In mancanza di grandi tempi per me. –

+0

@KeesdeKooter Quale errore? – nKognito

+0

Qualcosa come "sintassi non valida". Scusa, non posso essere più specifico. –

4

È possibile utilizzare file di configurazione esterno, per esempio.

In base alla documentazione se si fornisce un file application.properties nella directory ./config accanto al jar eseguito, è possibile impostare il profilo attivo tramite tale file delle proprietà.

Basta usare spring.profiles.active=myprofile in ./config/application.properties

http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/html/boot-features-external-config.html#boot-features-external-config-application-property-files

http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/html/common-application-properties.html

+0

Sembra che non sovrascriva nemmeno le proprietà application.properties predefinite all'interno del file jar, il che è ottimo. –