Kompilieren von 2 voneinander abhängigen klassen

hallo zusammen.
ich habe eine main-klasse A, die eine instanz von Klasse B verwendet. Klasse B braucht auch Klasse A (A.statische_variable).
in Eclipse lässt sich alles einwandfrei kompilieren uns ausführen aber unter den konsole kann ich weder A noch B kompilieren.
beim kompilieren von Klasse A bekomme ich die folgende Fehlermeldung:
cannot resolve symbole(B)
beim kompilieren von Klasse B bekomme ich die folgende Fehlermeldung:
cannot resolve symbole(A)

ich habe auch alles in einen jar gepackt und bekomme beim kompilieren die Fehler:
Exception in thread main: java.lang.NoClassDefFoundError:A

hat jemand einen vorschlag oder eine idee?

danke im voraus

youssef

Auch hallo.

Erkennt der Compiler die beiden Dateien auch als einander zugehörig ?
Der Befehle dazu steht i.A. ganz oben in einer
java-Datei und heisst package.
In Datei A und Datei B muss also ein Befehl wie
‚package youssef;‘ erscheinen :wink:

HTH
mfg M.L.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi Youssef

(lange nicht gelesen)

wie wäre es, wenn Du zu beiden Klasse ein Interface baust, daß die Methoden alle abbildet und dieses dann einbindest?

Müßtest dann nur die Klassen/Interfaces um ne Methode getInstance oder so erweitern.

Sonst alles fit?

Gruß
Winni

PS: Welchen XML-Parser hatten wir denn beim Prof. Reinhard damals in WAI benutzt?

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi Winfried,

(lange nicht gelesen)

wie gehts dir ? hoffe gut

wie wäre es, wenn Du zu beiden Klasse ein Interface baust, daß
die Methoden alle abbildet und dieses dann einbindest?

Müßtest dann nur die Klassen/Interfaces um ne Methode
getInstance oder so erweitern.

habe die beide Klassen in einem package gemacht und lassen sich die einzelnen klassen kompilieren.(javac A.java B.java)
danach habe ich einen jar aus der 2 klassen erstellt mit manifest(A als main-klasse) und classpath fuer den jar gesetzt aber beim ausfueren bekomme ich immer eine fehler:
Exception in thread „main“ java.lang.NoClassDefFoundError: A
-----------------Klasse A-------------
package server;

public class A {

private B b = null;//referenz von Klasse B
public static boolean debug = true;

public A() {
super();
}

public static void main(String[] args)
{
System.out.println(„test“);
}

}
-------------------Klasse B-------------
package server;

public class B {

public B() {
super();
if(A.debug == true)// zugriff auf Klasse A
System.out.println(„aus B: debug ist true“);
}

public void f()
{
if(A.debug == true)
System.out.println(„aus B.funktion“);
}

}
----------manifest -----------
Manifest-Version: 1.0
Main-Class: A

jar cmf manifest.txt server.jar *.class
set CLASSPATH=pfad von jar datei
java -jar server.jar

Sonst alles fit?

mir gehts gut. was machst jetzt ? diplomarbeit ?

Gruß
Winni

PS: Welchen XML-Parser hatten wir denn beim Prof. Reinhard
damals in WAI benutzt?

wir haben DOM und JDOM verwendet.

Gruss
Youssef

Hi Youssef,

Hi Winfried,

(lange nicht gelesen)

wie gehts dir ? hoffe gut

Also ich kann nicht aufhören zu klagen *gfg*
Nee, alles im grünen Bereich…

wie wäre es, wenn Du zu beiden Klasse ein Interface baust, daß
die Methoden alle abbildet und dieses dann einbindest?

Müßtest dann nur die Klassen/Interfaces um ne Methode
getInstance oder so erweitern.

habe die beide Klassen in einem package gemacht und lassen
sich die einzelnen klassen kompilieren.(javac A.java B.java)
danach habe ich einen jar aus der 2 klassen erstellt mit
manifest(A als main-klasse) und classpath fuer den jar gesetzt
aber beim ausfueren bekomme ich immer eine fehler:
Exception in thread „main“ java.lang.NoClassDefFoundError: A

Ich habe folgendes gemeint:

*****************Interface A
public interface IntA
{
public static boolean getDebug();
public IntA getInstance();
}

-----------------Klasse A-------------
package server;

public class A {

private IntB b = null;//referenz von Klasse B
private static boolean debug = true;

public static boolean getDebug()
{
return debug;
}

public A() {
super();
}

public IntA getInstance()
{
A tempA = new A();
return tempA;
}

************************
Mit „normalen“ Members müßte das klappen.

Aber wie das mit Statischen Elementen ist, weiß ich nicht.

Sonst alles fit?

mir gehts gut. was machst jetzt ? diplomarbeit ?

Also ich jobbe gerade bei der großen Softwarefirma hier und hoffe, da im SS meine DA zu schreiben.
UNd Du?

PS: Welchen XML-Parser hatten wir denn beim Prof. Reinhard
damals in WAI benutzt?

wir haben DOM und JDOM verwendet.

Naja, JDOM kann ich hier nicht einpflegen, also neme ich weiterhin die org.w3c.dom -Klassen für meine privat geschriebenen Tools.

Grüßle Winni