Ich habe zwei Federprofile: "dev" und "test". Ich möchte das aktive Profil in der Serverumgebung festlegen, ich möchte es nicht in meinem Code festlegen, sodass das Profil, wo immer ich meine Anwendung ausliege, basierend auf dem Profil auf dem Server geladen wird. Wie kann ich das machen?Einstellung der Federprofilvariable
Antwort
Sie können einfach eine Systemeigenschaft auf dem Server wie folgt ...
-Dspring.profiles.active=test
Edit: dies in Eclipse zu tomcat hinzuzufügen, wählen Sie Run -> Run Configurations
und Tomcat laufen Konfiguration wählen. Klicken Sie auf die Registerkarte Arguments
und fügen Sie -Despring.profiles.active = test am Ende von VM arguments
hinzu. Eine andere Möglichkeit wäre es, die Eigenschaft auf Ihre catalina.properties in Ihrem Servers
Projekt hinzuzufügen, aber wenn Sie es hinzufügen, dass es unterlassen, die -D
Edit: Für den Einsatz mit Frühling Stiefel, haben Sie eine zusätzliche Wahl. Sie können die Eigenschaft als Programmargument übergeben, wenn Sie der Eigenschaft zwei Bindestriche voranstellen.
Hier sind zwei Beispiele einer Feder Boot-ausführbare jar-Datei mit ...
Systemeigenschaft
[[email protected] ~]$ java -jar -Dspring.profiles.active=test myproject.jar
Programm Argument
[[email protected] ~]$ java -jar myproject.jar --spring.profiles.active=test
Es gibt mindestens zwei Möglichkeiten, um das zu tun:
Definition Kontextparam in web.xml - das bricht "ein Paket für alle Umgebungen" Anweisung. Ich empfehle nicht, dass
definieren Systemeigenschaft
-Dspring.profiles.active=your-active-profile
Ich glaube, dass ein viel besserer Ansatz zu definieren Systemeigenschaft ist. Wie definiert man die Systemeigenschaft für Tomcat? Im Internet könnte ich eine Menge Ratschläge wie "catalina.sh ändern" finden, weil Sie keine Konfigurationsdatei finden, um solche Sachen zu machen. Das Ändern von catalina.sh ist eine schmutzige, nicht zu behebende Lösung. Es gibt einen besseren Weg, das zu tun.
Gerade Datei setenv.sh in Tomcat-bin-Verzeichnis mit Inhalt erstellen:
JAVA_OPTS="$JAVA_OPTS -Dspring.profiles.active=dev"
und es wird automatisch catalina.sh starten oder laufen während des Fahrens geladen werden.
Here is a blog beschreibt die obige Lösung. Der Kommentarbereich ist interessant, da er mehr Details enthält.
als Systemumgebung Variable:
Fenster: Start -> Typ "envi" Umgebungsvariablen auswählen und fügen Sie eine neue: Name: spring_profiles_active Value: dev
(oder was auch immer dein ist)
Linux: Fügen Sie folgende Zeile zu/etc/environment unter Pfad:
spring_profiles_active=prod
(oder was auch immer Profil ist)
dann auch export spring_profiles_active=prod
also hast du es jetzt in der Laufzeit.
Dies funktioniert hervorragend (getestet in Windows), auch wenn Sie Ihre Anwendung in einem OSGI-Container ausführen. Denken Sie daran, die JVA-Instanz nach dem Festlegen neu zu starten, und stellen Sie sicher, dass die Systemeigenschaft mit dem Namen "spring.profiles.active" deaktiviert ist. Zu Ihrer Information: Dies setzt nicht die Systemeigenschaft, sondern das Spring Environment-Instanzprofil. Vielen Dank! –
- 1. Einstellung der optischen Trübung?
- 2. Einstellung Titel der UITabBar
- 3. Einstellung der Umgebungsänderungen?
- 4. Einstellung der Tastenausrichtung programmgesteuert
- 5. Bedingte Einstellung der Linienfarbe
- 6. Einstellung der Fancybox-Position
- 7. Absturz Excel bei der Einstellung Einstellung Pivotfield filtern
- 8. MKMapView Einstellung der anfänglichen Zoomstufe
- 9. Einstellung der "Paravirtualisierungsschnittstelle" in Vagrantfile
- 10. Einstellung der Anzeigenbreite auf match_parent
- 11. Einstellung der dynamischen UITableViewCell Höhe
- 12. PHP Einstellung der Abfrage Zeichenfolge
- 13. DroneKit - Einstellung der RTL-Höhe
- 14. Probleme mit der Einstellung Anwendungssymbol
- 15. jquery Einstellung der Reihenfolge der Handler
- 16. Problem bei der Einstellung der Socket-Server
- 17. Dynamische Einstellung von Ansichten mit der Einstellung LayoutParams.addRule an die letzte Position der Ansicht
- 18. bei der Suche nach einem Problem bei der Einstellung erweiterbare ListView Einstellung OnClick Listener
- 19. 3D-zeichnen, Einstellung Perspektive Punkt, Einstellung Aussichtspunkt!
- 20. Einstellung der UITableView der Klasse "verbirgt" den Ausgangsteil der Ausgänge
- 21. Nachteil der Einstellung von Form.KeyPreview = true?
- 22. Einstellung der navigationController-Instanz im iPhone?
- 23. Hintergrund der Panel-Einstellung mit benutzerdefinierten Farbcode
- 24. Einstellung der Ghci-Eingabeaufforderung mit Farben
- 25. Einstellung der logarithmischen Skalierung innerhalb von Paaren()
- 26. Android4OpenCV: Einstellung der Auflösung beim Start
- 27. Einstellung der Standardkonfiguration für Jupyter QtConsole
- 28. Einstellung von NODE_PATH aus der NodeJS-Anwendung
- 29. Java Vererbung Einstellung Wert in der Elternklasse
- 30. Android UI Verzögerung von der Einstellung Bild
Ich bin neu in Spring Profilen. "ON THE SERVER". Wo und wie genau muss ich es einstellen? –
Noch eine Sache ist, dass ich Tomcat durch Eclipse und nicht durch die Befehlszeile starte. –
Welchen Server benutzen Sie? Wenn Sie Tomcat verwenden, können Sie dies zu $ CATALINA_HOME/conf/catalina.properties hinzufügen, aber das -D weglassen, sodass Sie einfach spring.profiles.active = test – hyness