Stefano Albrecht: Eclipse -> Kreuzreferenz

Hallo Forum,

ich führe zwei Projekte: A und B.

A benötigt Klassen aus B und B Klassen aus A (lässt sich leider nicht ändern). Wenn ich bei A in den Build-Path B angebe, funktioniert es auf Seiten von A. Wenn ich dann zusätzlich in den Build-Path von B auf A verweise, erhalte ich "Exception in thread "main" java.lang.Error: Unresolved compilation problem", obwohl er die gesuchten Klasen aus A findet (laut Eclipse).

Information:
Windows XP Sp 2, Eclipse 3.1, Javac 1.4

Vielen Dank :~)

Mit freundlichen Grüßen
Stefano Albrecht

  1. Hallo auch,

    was möchtest du jetzt genau wissen?

    [ ] wie man dein Problem lösen kann
    [ ] ob das so normal ist
    [ ] ob es ein Bug von Eclipse / Windows XP / Java ist
    [ ] ob wir mitleid mit dir haben
    [ ] du wollstest es uns einfach wissen lassen

    Zum ersten Punkt würde ich dir raten, organisiere deine Projekte
    ordentlich, damit solche Zirkulärreferenzen nicht entstehen. Packe
    dazu alle gemeinsam benutzen Klassen in ein Projekt und lass deine
    beiden ursprünglichen Projekte diese gemeinsame Bibliothek
    referenzieren.

    lässt sich leider nicht ändern

    Es wird sich wohl ändern lassen müssen.

    Ciao, Frank

    1. Hallo Frank ;~)

      [X] wie man dein Problem lösen kann
      [X] ob das so normal ist
      [ ] ob es ein Bug von Eclipse / Windows XP / Java ist
      [X] ob wir mitleid mit dir haben
      [ ] du wollstest es uns einfach wissen lassen

      Mit freundlichen Grüßen
      Stefano Albrecht

      1. Hallo nochmal,

        [X] wie man dein Problem lösen kann

        Das habe ich geschrieben, (re-)organisiere deine Projekte entsprechend.
        So ein Szenario kann durchaus vorkommen, wenn im Vorfeld nicht ausreichend gedacht und/oder einfach ins Blaue hinein programmiert worden ist. Dann hilft ein Refactoring auf Projektebene.

        [X] ob das so normal ist

        Ich finde schon, was soll dein Compiler sagen? Ich will Projekt A kompilieren, muss aber erst Projekt B kompilieren, oh, also muss ich
        doch Projekt A vorher wieder kompilieren. Und so weiter und so fort.

        [X] ob wir mitleid mit dir haben

        Ehrlich gesagt ich zumindest nicht. Vielleicht gibt es ja sonst jemanden. :)

        Grüsse,
        Frank

        1. Hallo,

          Ich finde schon, was soll dein Compiler sagen? Ich will Projekt A kompilieren, muss aber erst Projekt B kompilieren, oh, also muss ich
          doch Projekt A vorher wieder kompilieren. Und so weiter und so fort.

          Das nennt man Deadlock.

          [X] ob wir mitleid mit dir haben

          Ehrlich gesagt ich zumindest nicht. Vielleicht gibt es ja sonst jemanden. :)

          Ich hab schon ein bisschen Mitleid. Reorganisation eines Projekts ist eine sehr qualvolle Angelegenheit.

          Viele Grüße

          --
          (((C = C + 1 == C++) == true) == true)
          1. Hallo Richard ;~)

            Ich hab schon ein bisschen Mitleid. Reorganisation eines Projekts ist eine sehr qualvolle Angelegenheit.

            Tja, zum Glück ist das nicht meine Angelegenheit :~)

            Mein Thread ging auch eigentlich als Resultat eines Fachgespräches mit einem Freund hervor. Mich interessierte das jedoch auch, und wegen dem Deadlock dachte ich, dass es in Java hierfür diverse Alternativen gäbe (z.B. wie in Pascal mit den Unit-Prioritäten beim Kompilieren).

            Ich danke nochmals allen Antwortgebern.
            Ein frohes Osterwochenende wünsche ich noch.

            Mit freundlichen Grüßen
            Stefano Albrecht