Re: Gleiche Klassen-Namen in unterschiedlichen Source-Dateien mit mehr als 1 Klasse.
Von: Boris Stumm (stumm@informatik.uni-kl.de) [Profil]
Datum: 18.09.2008 09:34
Message-ID: <gat0di$9uh$1@news.uni-kl.de>
Newsgroup: de.comp.lang.java
Datum: 18.09.2008 09:34
Message-ID: <gat0di$9uh$1@news.uni-kl.de>
Newsgroup: de.comp.lang.java
Helmut Weil wrote: [...] > Muß man das in JAVA einfach so hin nehmen bzw. ist das der Grund > dafür, weshalb eine Datei nur EINE Klasse (außer inneren) beinhalten > SOLL (nicht DARF)? Gründe dafür, und Gründe, warum das bei einem vernünftigen Design nie vorkommt, wurden ja schon genannt. Mir fällt zur Zeit nur ein sinnvolles Beispiel ein, wo diese bzw. eine ähnliche Situation ohne eigenes Verschulden auftreten könnte und wo man dann eine Lösung finden muss: Wenn man in einem größeren Projekt 3rd-Party-Libraries benutzt, die wiederum andere 3rd-Party-Libraries benutzen (was ein realistisches Szenario ist), kann es sein, dass die direkt genutzten Libraries indirekt wiederum unterschiedliche Versionen einer Library brauchen: - meinprojekt.jar braucht a.jar und b.jar - a.jar braucht c-1.0.jar - b.jar braucht c-2.0.jar Aufgrund fehlender Abwärtskompatibilität kann es dann tatsächlich zu dem vom OP beschriebenen Problem kommen. Abhilfe kann hier meines Wissens nach die Verwendung unterschiedlicher ClassLoader schaffen. Das heißt: nein, man muss das beschriebene Problem nicht einfach so hinnehmen, es gibt eine (etwas kompliziertere) Lösung dafür, und es gibt tatsächlich auch realistische Szenarien dafür. Wenn das Problem allerdings im eigenen Projekt auftritt, hat man definitiv was falsch gemacht. Hier könnte man evtl. einfach innere Klassen benutzen.[ Auf dieses Posting antworten ]
