property-Konfigurationsdatei für webApp(war) - wohin) - /conf/Catalina/<host>/ ?

dermoritz

Bekanntes Mitglied
Ich habe leider kaum Ahnung von der Konfiguration und dem Betrieb von Web-Servern. Ich baue eine Webanwendung wleche ein properties-Datei benötigt um bestimmte Ressourcen zu finden.
Aus meiner Sicht gehört die Datei in das Wurzelverzeichnis der Webanwendung also bei Tomcat:
tomcat/webapps/meineAnwendung/config.porperties

Ist das so? Bzw. wünscht sich ein Betriebler nun, dass ich diese unter /conf/Catalina/<host>/ ablege. Macht das Sinn? den "<host>" müsste ich ja dann wissen und fest in meiner Anwendung verdrahten? Der ORdner scheint für eine andere sorte Dateien gedacht zu sein oder?
 

fastjack

Top Contributor
Aus meiner Erfahrung kann ich sagen, daß die Betriebler keine Props anpassen wollen. Schreib doch eine kleine JSP-Seite, die die Installation durchführen kann und die Einstellungen dann in einer DB, oder sonstwo speichert (ähnlich wie MediaWiki).
 
N

nillehammer

Gast
Ist das so? Bzw. wünscht sich ein Betriebler nun, dass ich diese unter /conf/Catalina/<host>/ ablege. Macht das Sinn? den "<host>" müsste ich ja dann wissen und fest in meiner Anwendung verdrahten?
Nein, es macht keinen Sinn, sie dorthin zu legen.

Wo man sie am besten hinlegt, hängt davon ab, was Du konfigurieren willst. Z.B. Hibernate oder log4j erwarten die Dateien ja an einer ganz bestimmten Stelle (innerhalb des Anwendungsordners).

Eigene properties Dateien würde ich mit in die Packages der Anwendung legen. Sie gehören ja schließlich zur Anwendung. Auf die Weise kannst Du völlig unabhängig von physischen Dateipfaden oder virtuellen Hosts/Anwendungspfaden zugreifen (nämlich als Classpath Resource). Außerdem ist auch sicher gestellt, dass sie bei einem build im war-File landen und damit auch mit deployt werden, wenn es Änderungen gab.

Der ORdner scheint für eine andere sorte Dateien gedacht zu sein oder?
Ja
 

dermoritz

Bekanntes Mitglied
Danke für die Infos.

Im Moment ist die Properties-Datei in der war. Sie muss zum anpassen herausgeholt und dann wieder reingepackt werden - das wollen die Betriebler nicht (kann ich verstehen).
(diese Datei enthält urls(loakale), pfade, username/ pw usw.)
Deswegen finde ich sie herauszuholen nicht schlimm - solange sie in einem Pfad relativ zur Anwendung selbst ist Anwendung/config.properties oder Anwendung/conf/config.properties
 
N

nillehammer

Gast
Im Moment ist die Properties-Datei in der war. Sie muss zum anpassen herausgeholt und dann wieder reingepackt werden - das wollen die Betriebler nicht (kann ich verstehen).
Kann ich auch verstehen. Ich würde an einer Produktivanwendung nicht herumbasteln. Es muss dafür meiner Meinung nach immer ein Releasezyklus durchlaufen werden. Ein Workaround wäre, den Webcontainer so zu konfigurieren, dass er das war auspackt (Stichwort: Exploded). Aber auch das ändert nichts daran, dass man in der Produktionsumgebung eher nicht quick and dirty an Dateien rumspielen sollte.

Anwendung/conf/config.properties
Würd ich nicht machen. Die Datei ist ohne weitere Schutzmaßnahmen für den Endnutzer der Anwendung mit seinem Browser direkt aufrufbar. Das will man ja im Zweifel eher nicht. Außerdem kriegst Du nur über das Filesystem Zugriff. Besser ist der Ordner WEB-INF/classes (oder in irgendeinem jar unter WEB-INF/lib) also wie schon geschrieben irgendwo da, wo auch die Java-Klassendateien liegen. Dann kannst Du auf die properties-Datei als Klasspathresource zugreifen. Da können Dir dann physische Ordnerstrukturen völlig egal sein.
 

dermoritz

Bekanntes Mitglied
ok, im moment ist die Datei in web-inf/classes (die war-datei wird ja beim deployment ausgepackt). Das Problem ist nur, das der Deployvorgang scheitert, da die Anwendung nicht korrekt konfiguriert ist (es sei denn man ändert die properties vorher in der war-Datei).

Also dein Vorschlag ist, die Datei da zu lassen wo sie ist [war|appOrdner]/web-inf/classes/? Oder gibt es eine Alternative dies es dem Betrieb etwas leichter macht?
 
N

nillehammer

Gast
Mir ist überhaupt nicht klar, warum der Betrieb nach dem Deployment Deiner Anwendung noch in Konfigurationen rumfummeln muss. Eine fertige und vollständige Webanwendung muss direkt nach dem Deployment laufen.

Wenn Der Betrieb die Hand auf irgendwelchen Passwörtern für Resourcen (Mail, Datenbanken) oder so hat, die er nicht rausgeben will, dann bietet es sich an, den Zugriff auf diese Resourcen über den Container (Tomcat) managen zu lassen. Das kann der Betrieb völlig unabhängig von der Entwicklung konfigurieren. Deine Anwendung holt sich die Resourcen dann über JNDI.
 

dermoritz

Bekanntes Mitglied
Nillehammer das ist wahrscheinlich die sauberere/schönere Lösung. Aber in meinem Fall ist es eben ganz "klassisch": die Resourcen werden in einer Propertiesdatei referenziert und ich liefere eine Datei ohne Werte aus und ein Handbuch beschreibt was wo eingetragen werden muss.

Aber bei Gelegenheit werde ich mir JNDI mal anschauen (bin beim einrichten von Beispielanwendungen mal darüber gestolpert)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D maven profil aktivierung durch property gesetzt in anderem profile - geht das? Tools - Maven, Gradle, Ant & mehr 4
D [Maven] property-value wie urls (mit komischen Zeichen) eintragen Tools - Maven, Gradle, Ant & mehr 5
D [maven] Umgang mit property-Datei Tools - Maven, Gradle, Ant & mehr 2
C Property-Datei für Web Start Tools - Maven, Gradle, Ant & mehr 2
L Maven Wo muss die Konfigurationsdatei meines Programms hin? Tools - Maven, Gradle, Ant & mehr 2
W git - Ordner für Push-Befehl sperren Tools - Maven, Gradle, Ant & mehr 2
von Spotz Gradle: Dependencies und Plugins vom root Projekt für die child-Projekte verfügbar machen Tools - Maven, Gradle, Ant & mehr 5
8u3631984 JAR aus anderem Module verwenden für Docker Image Tools - Maven, Gradle, Ant & mehr 0
M Was ist besser für den Anfang, Maven oder Gradle? Tools - Maven, Gradle, Ant & mehr 6
Avalon Open Source Alternative für Prometheus gesucht Tools - Maven, Gradle, Ant & mehr 3
N Gradle für Tests 2 Frameworks Tools - Maven, Gradle, Ant & mehr 2
F Setup für meine .Jar Tools - Maven, Gradle, Ant & mehr 4
F Übergreifende Deploymentlösung für Tomcat, Websphere,... Tools - Maven, Gradle, Ant & mehr 0
A Maven Standard/User-Libraries für alle Eclipse-Projekte bereitstellen Tools - Maven, Gradle, Ant & mehr 3
reibi Maven Projekt für Zusatzdaten Tools - Maven, Gradle, Ant & mehr 0
HaukeG Maven Suche nach Ideen für Realisierung eines eigenen Plugin Tools - Maven, Gradle, Ant & mehr 3
S Maven Arquillian braucht fast eine Minute für ein Deployment Tools - Maven, Gradle, Ant & mehr 5
maestr0 Maven Plugin Entwicklungs Buch für Einsteiger Tools - Maven, Gradle, Ant & mehr 8
M Plattformunabhängiges Deployment für simple Zwecke Tools - Maven, Gradle, Ant & mehr 4
K Jenkins Konfiguration für einen multi-module Maven Projekt Tools - Maven, Gradle, Ant & mehr 2
fastjack Maven: eine Jar für mehrere Teilprojekte Tools - Maven, Gradle, Ant & mehr 5
Guybrush Threepwood Installationsumgebung für Mac Tools - Maven, Gradle, Ant & mehr 2
D eine Abhängigkeit für viele jars Tools - Maven, Gradle, Ant & mehr 4
P Installer für Anwendung bauen Tools - Maven, Gradle, Ant & mehr 4
P Maven Tutorial für Anfänger Tools - Maven, Gradle, Ant & mehr 5
I Ratschläge für eine automatisierte Installation benötigt Tools - Maven, Gradle, Ant & mehr 3
slawaweis Ant Trennstrich in Attributen für eigene Ant Tasks Tools - Maven, Gradle, Ant & mehr 2
K Ant Source in JAR mitliefern für Debugging Tools - Maven, Gradle, Ant & mehr 3
M Maven Source Folder für "Examples" Tools - Maven, Gradle, Ant & mehr 2
L Buckminsterbeispiele für RCP Tools - Maven, Gradle, Ant & mehr 5
F Installer der nur für Benutzer installiert Tools - Maven, Gradle, Ant & mehr 7
-horn- Pures JRE ohne Ballast? Für BOINC-Projekt Tools - Maven, Gradle, Ant & mehr 4
D verschiedene Versionen "builden" für Test und Lifebetrieb Tools - Maven, Gradle, Ant & mehr 14
D maven config für nexus Tools - Maven, Gradle, Ant & mehr 8
R Temporärer speicherort für Applets Tools - Maven, Gradle, Ant & mehr 33
R [Maven2] immer Build failed für Projekt Tools - Maven, Gradle, Ant & mehr 10
Guybrush Threepwood Lizenz für Closed Source Tools - Maven, Gradle, Ant & mehr 6
C Ant target für Eclipse .classpath Tools - Maven, Gradle, Ant & mehr 6
A Muss ich für jeden JBoss deployen? Tools - Maven, Gradle, Ant & mehr 3
J keytool um für Tomcat keystore file zu erstellen Tools - Maven, Gradle, Ant & mehr 1
M Autostart unter Windows für Java Aplikation Tools - Maven, Gradle, Ant & mehr 10
X Applets für Datenbankzugriff signieren Tools - Maven, Gradle, Ant & mehr 8
D Bibliotheken für Applet Tools - Maven, Gradle, Ant & mehr 5
I Fehler beim Signieren der JAR Dateien für Webstart Tools - Maven, Gradle, Ant & mehr 1
M Alternative Grafik für nicht-javafähige Browser Tools - Maven, Gradle, Ant & mehr 12
G Thread für bewegte Zeichnung wird nicht gestartet Tools - Maven, Gradle, Ant & mehr 3
C Applet für kurze Zeit nach dem starten anhalten Tools - Maven, Gradle, Ant & mehr 2
F Für Read Zugriff auf Server signieren? Tools - Maven, Gradle, Ant & mehr 8
K Ein Objekt anhalten für eine bestimmte Zeit Tools - Maven, Gradle, Ant & mehr 2
D Schon wieder eine Frage für meinen Editor Tools - Maven, Gradle, Ant & mehr 10
M Java-Applet Unterstützung in Browsern (für Java 1.1.8) Tools - Maven, Gradle, Ant & mehr 5
M Applet für Onlinezahlungen? Tools - Maven, Gradle, Ant & mehr 2
T Menü für WebSite in Applet Tools - Maven, Gradle, Ant & mehr 9
T Separaten Thread für GUI bei Applets? Tools - Maven, Gradle, Ant & mehr 5
S Schnittstelle für Applet von außen Tools - Maven, Gradle, Ant & mehr 4
S showDocument() für eine Rollover-Button-Klasse Tools - Maven, Gradle, Ant & mehr 2
L Hintergrundbild für Applet Tools - Maven, Gradle, Ant & mehr 3
J Editor für ".class"-Dateien? Tools - Maven, Gradle, Ant & mehr 3
A Mehr Speicher für Applet? Tools - Maven, Gradle, Ant & mehr 7
O Horizontales Menü für Homepage Tools - Maven, Gradle, Ant & mehr 3
A Sicherheitrichtlinien für Applets Tools - Maven, Gradle, Ant & mehr 2
S Buttons erstellen ... schwer für anfänger ... bitte helft Tools - Maven, Gradle, Ant & mehr 4

Ähnliche Java Themen


Oben