Hallo zusammen.
Ich habe aktuell ein Problem bzw. Klärungsbedarf, bei dem ich mal Rat und Meinungen brauche.
Folgende Situation:
Wir haben mehrere kleinere Anwendungen die als JAR vorliegen und in eine größere Anwendung integriert werden. Das läuft soweit.
Problematisch ist nun der Punkt Resourcen. Ich rede hier mal nur von Bildern, aber es bezieht sich auch auf andere. Wir haben derzeit folgende Struktur in den einzelnen JARs:
Damit werden über
die Properties geladen und über die ClassLoader analog die Icons.
Das läuft bei den einzelnen Anwendungsteilen super.
Wenn nun aber das große Programm kommt und die ganzen kleineren JARs lädt, dann überschreiben/-schneiden sich offenbar (und logischerweise) die /resourcen-Verzeichnisse, da hier die Namen und die Struktur in allen JARs gleich ist.
Nun meine Frage: Gibt es einen Weg das zu umgehen oder es besser zu lösen? Ich habe mit ClassLoadern bisher nur wenig gemacht und nehme z.B. stets
, aber vielleicht gibt es hier schon eine andere Möglichkeit, die pro JAR unterscheidet. Dann bliebe halt noch der Aufruf zum Laden von "resources/icons", welches es im Verbund dann auch mehrmals gibt. Ganz zu schweigen davon, wenn es mehrmals die Datei ok.png gibt 
Von anderen Stelle habe ich gehört, dass sie extra ein JAR mit Resourcen gemacht haben, wo eben alle drin sind. Dies wäre auch eine Option, aber dann müsste ich bei jedem kleinen Anwendungsteil (der auch separat verwendet werden kann), das dicke JAR mit allen Grafiken/Resourcen mitführen, von denen 80% niemals verwendet werden.
Weitere Alternative: Die Gleichheit der Namensgebung irgendwie auflösen... dann müssten aber ziemlich viele Projekte angepasst werden *autsch*.
Also brainstormt mal
Vielleicht bin ich auch auf dem Holzweg.
Danke im Voraus.
Ich habe aktuell ein Problem bzw. Klärungsbedarf, bei dem ich mal Rat und Meinungen brauche.
Folgende Situation:
Wir haben mehrere kleinere Anwendungen die als JAR vorliegen und in eine größere Anwendung integriert werden. Das läuft soweit.
Problematisch ist nun der Punkt Resourcen. Ich rede hier mal nur von Bildern, aber es bezieht sich auch auf andere. Wir haben derzeit folgende Struktur in den einzelnen JARs:
Code:
app1.jar
-- package1
-- package21
-- package22
-- ...
-- resources
-- icons.properties
-- (andere properties)
-- icons
-- ok.png
-- cancel.png
-- (usw)
Code:
ResourceBundle.getBundle("resources/icons")
Das läuft bei den einzelnen Anwendungsteilen super.
Wenn nun aber das große Programm kommt und die ganzen kleineren JARs lädt, dann überschreiben/-schneiden sich offenbar (und logischerweise) die /resourcen-Verzeichnisse, da hier die Namen und die Struktur in allen JARs gleich ist.
Nun meine Frage: Gibt es einen Weg das zu umgehen oder es besser zu lösen? Ich habe mit ClassLoadern bisher nur wenig gemacht und nehme z.B. stets
Code:
this.getClass().getClassLoader()
Von anderen Stelle habe ich gehört, dass sie extra ein JAR mit Resourcen gemacht haben, wo eben alle drin sind. Dies wäre auch eine Option, aber dann müsste ich bei jedem kleinen Anwendungsteil (der auch separat verwendet werden kann), das dicke JAR mit allen Grafiken/Resourcen mitführen, von denen 80% niemals verwendet werden.
Weitere Alternative: Die Gleichheit der Namensgebung irgendwie auflösen... dann müssten aber ziemlich viele Projekte angepasst werden *autsch*.
Also brainstormt mal
Danke im Voraus.