kein Zugriff auf eine Klasse in einem Unterordner

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo,

in einem Ordner c:\vfh\ liegt die Klasse eingabe.
Diese ruft mit
Code:
import bib.*;
/**
 * Dateiname	: eingabe.java
 * Beschreibung 
 *
 * @author      
 * @version    
 */

public class eingabe {
	

	public static void main( String[] args )

		{
		int i;
		i=32;
		eingabe2 MeinObjekt = new eingabe2();
		MeinObjekt.methode2();

		}


}

die Methode methode2() der Klasse eingabe2 auf.
Die Klasse eingabe2 wiederum liegt im Ordner bib:
c:\vfh\bib

Code:
package bib;
import java.io.*;

/**
 * Dateiname	: eingabe2
 * Beschreibung : 
 *
 * @author      
 * @version     
 */

public class eingabe2 {
	
	
	public void methode2()
{ ...    	

		}// methode2()		
...
}// eingabe2

Wenn zusätzlich die Klasse eingabe2 auch noch im Ordner liegt, in dem sich eingabe
befindet, dann funktioniert alles bestens. Wenn jedoch eingabe2 NUR im angegebenen
Unterordner liegt bekomme ich die Fehlermeldung:

cannot access bib.eingabe2

Kann jemand nachvollziehen, warum das so ist?

Gruss und Dank
Jan
 
G

Guest

Gast
aha! das bedeutet man muss von einem speziellen Ort aus
kompillieren?

Gruss
Jan
 

moormaster

Top Contributor
Das bedeutet, dass ich das ohne Probleme compilieren konnte mit genau diesen Verzeichnisstrukturen und herausfinden möchte, was du anders gemacht hast :D

Ich befand mich im Verzeichnis
C:\vfh\bin

und habe von dort aus kompiliert mit:

C:\vfh\bin> javac -sourcepath .. ..\eingabe.java

und konnte danach das Programm ohne Fehler starten:

C:\cfh\bin> java eingabe
 
G

Guest

Gast
hallo moormaster, danke fuer die Antwort.

Ich habe es so gemacht:


eingabe1.JPG


Gruss Jan
 

moormaster

Top Contributor
Offensichtlich gibt es noch ein Überbleibsel einer eingabe2 Klasse, bereits compiliert wurde aber nicht im richtigen package liegt oder Ähnliches...

Lösche einfach mal alle .class Dateien und compilier dann nochmal.
 
G

Guest

Gast
Hi,

soll ich vom Hauptordner aus compilieren? oder ist das egal?

Gruss
Jan
 

moormaster

Top Contributor
Es ist prinzipiell möglich von überall aus zu compilieren, wenn du die Parameter entsprechend angibst.

Wenn du den -d Parameter nicht angibst, dann landen die frisch compilierten Sachen im aktuellen Verzeichnis (bzw. die Verzeichnisse der Packages werden im aktuellen Verzeichnis angelegt)

Wenn die compilierten class-Dateien woanders landen sollen, muss dieses andere Verzeichnis nicht nur über den -d Parameter angegeben werden, sondern zusätzlich noch in den classpath aufgenommen werden mit Hilfe des -cp Parameters. Es kann auch sein, dass -cp in diesem Fall nicht zwingend notwendig ist... Wenn du aber compilierte Klassen verwendest, die nicht unter Quelldateien vorkommen, dann muss das entsprechende Verzeichnis auf jeden Fall mit Hilfe von -cp in den Classpath aufgenommen werden.

Eine 3. Sache, auf die zu achten ist, wäre, wo das Quellverzeichnis liegt. Wenn das aktuelle Verzeichnis nicht das Verzeichnis mit den Java-Quelldateien (und den entsprechenden Unterverzeichnissen der packages) ist, dann muss das Quellverzeichnis mit Hilfe des -sourcepath Parameters angegeben werden.

Das ganze ist auch hier nachzulesen:

http://java.sun.com/javase/6/docs/technotes/tools/windows/javac.html

sowie in dem Buch "Java ist auch eine Insel" und mit Sicherherheit ist es auch noch in der Forums FAQ beschrieben :D
 
G

Guest

Gast
Hallo nochmal,

ich habe ALLE eingabe.class und eingabe2.class wie von Dir beschrieben
gelöscht. Dann habe ich eingabe.java aus dem Verzeichnis heraus compiliert,
indem sich eben eingabe.java befindet.
Danach habe ich eingabe2.java wiederum aus dem Verzeichnis heraus compiliert,
in dem sich eben eingabe2.java befindet.

Es hat alles wunderbar geklappt.

Du hattest also genau den richtigen Riecher mit der Annahme, dass sich Kopien von
eingabe.java und eingabe2.java sowie deren compilierten Klassen Datei auf diversen
Unterordnern befanden.

SUPER! Ich danke Dir, dass Du mir so toll geholfen hast.

Ein Letztes bitte noch: weisst Du auch WARUM diese Kopien den Vorgang gestört haben.

Jetzt schmal: :toll:

Lieben Gruss aus Hamburg
Jan
 

moormaster

Top Contributor
Anonymous hat gesagt.:
Ein Letztes bitte noch: weisst Du auch WARUM diese Kopien den Vorgang gestört haben.

Kann es sein, dass du die eingabe2.class Datei compiliert hast, als sie noch in einem anderen package war und sie dann einfach verschoben hast?

Aus deinem Screenshot ist zu entnehmen, dass er zwar eine eingabe2.class im Ordner bin gefunden hat, diese aber noch nicht dem package bib angehört.

Evtl. hast du auch nur mal den Ordner bib umbenannt nachdem du schonmal compiliert hattest... das könnte zu ähnlichen Phänomenen führen...

Daher ist es sinnvoll, Quelltext und class-Dateien in getrennten Verzeichnissen zuhandhaben.

Du könntest z.B. folgende Verteichnisstruktur anlegen:

c:\vfh\src
c:\vfh\src\diversepackages
...
c:\vfh\bin

so dass sich alle Quelltexte im "src" Ordner befinden und die Class-Dateien nach "bin" compiliert werden.
Dann kommen oben erwähnte Parameter auch wieder ins Spiel, je nachdem, von wo aus du compilierst.

z.B. von C:\vfh aus:

javac -d bin -sourcepath src -cp bin src\Hauptklasse.java


So brauchst du jedes Mal nur das "bin" Verzeichnis vorher zu leeren, um derartige Fehler einfacher auszuschliessen.
 
G

Guest

Gast
moormaster hat gesagt.:
Kann es sein, dass du die eingabe2.class Datei compiliert hast, als sie noch in einem anderen package war und sie dann einfach verschoben hast?

Aus deinem Screenshot ist zu entnehmen, dass er zwar eine eingabe2.class im Ordner bin gefunden hat, diese aber noch nicht dem package bib angehört.

Evtl. hast du auch nur mal den Ordner bib umbenannt nachdem du schonmal compiliert hattest... das könnte zu ähnlichen Phänomenen führen...

Man bist Du gut, Hut ab. Genauso muss es gewesen sein. Ausserdem bin ich noch ziemlich unsicher,
mit den Verzeichnisstrukturen und -beziehungen.

Danke auch fuer den "Ordner-Tip".

Nochmal lieben Gruss und schönes Wochenende

Jan
:applaus:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Kein Zugriff auf Klassenmethoden in Main Methode Java Basics - Anfänger-Themen 23
moiss002 Umgebungsvariable Kein Zugriff auf ein Array Java Basics - Anfänger-Themen 7
B Methoden Methoden haben kein Zugriff auf variablen Java Basics - Anfänger-Themen 4
H Kein Zugriff auf das Element einer JList möglich: Fehlermeldung Java Basics - Anfänger-Themen 2
D Kein Zugriff auf JFrame Java Basics - Anfänger-Themen 2
N Kein Zugriff auf Ordner -> NullPointerException Java Basics - Anfänger-Themen 2
I kein zugriff auf jList oder Textfield Java Basics - Anfänger-Themen 2
D Classpath Kein Zugriff Java Basics - Anfänger-Themen 9
G Generics kein Zugriff auf getter eines Objekts Java Basics - Anfänger-Themen 4
H Erste Schritte Kein Zugriff auf einen button der ein Ereignis ausgelöst hat Java Basics - Anfänger-Themen 2
I Kein Zugriff auf erstelltes Objekt aus anderer Methode Java Basics - Anfänger-Themen 6
L Kein Zugriff auf Listen in einem Array Java Basics - Anfänger-Themen 2
A kein zugriff auf variable trotz public? Java Basics - Anfänger-Themen 3
S Kein Zugriff auf Files in Jar-Datei Java Basics - Anfänger-Themen 4
M Nach Serializierung kein Zugriff auf Variabeln moeglich Java Basics - Anfänger-Themen 7
B Kein Zugriff auf Festplatt (Windows XP) Java Basics - Anfänger-Themen 6
Jul1n4tor Scanner error bei Eingabe die kein Integer ist Java Basics - Anfänger-Themen 4
M intelliJ auf neuem PC, plötzlich kein Code Java Basics - Anfänger-Themen 3
K Schleife berechnet kein Ergebnis (Vererbung) Java Basics - Anfänger-Themen 6
Nina Pohl Ein Vorgang bezog sich auf ein Objekt, das kein Socket ist Java Basics - Anfänger-Themen 6
M Kein Shortcut? Java Basics - Anfänger-Themen 7
GermanPie Fehler in Putty (kein Hauptmanifestattribut, in jar) Java Basics - Anfänger-Themen 4
Z Kein überprüfen des gesamten Arrays möglich.(Viergewinnt Spiel) Java Basics - Anfänger-Themen 6
B Warum bekomme ich kein Bild. Java Basics - Anfänger-Themen 10
D kein hauptmanifestattribut in dateiname.jar Java Basics - Anfänger-Themen 14
X Methode bei mehrfachen Aufruf kein Effekt Java Basics - Anfänger-Themen 3
Z Warum kein Dreieck aus Sternen? Java Basics - Anfänger-Themen 9
T In C:\java\bin wird kein javac angezeigt. Java Basics - Anfänger-Themen 1
B Wieso gibt das Programm in der Console kein Ergebnis aus? Java Basics - Anfänger-Themen 2
N kein Sound beim Öffnen der jar-Datei, in Eclipse schon Java Basics - Anfänger-Themen 1
I Shutdown wenn kein Strom verfügbar Java Basics - Anfänger-Themen 4
K Interface Kein Bild im .jar-File Java Basics - Anfänger-Themen 15
X Best Practice SUCHE ein gutes Javabuch! (kein Anfang von 0) Java Basics - Anfänger-Themen 5
N Input/Output Wenn kein Input, dann Fehler anzeigen lassen im JFrame Java Basics - Anfänger-Themen 6
J Umgebungsvariable Programmfenster zeigt kein Bild an Java Basics - Anfänger-Themen 1
T Objektorientierte Programmierung - Kein Plan wieso das nicht funktioniert! Java Basics - Anfänger-Themen 6
B Compiler-Fehler 86:11: error: ';' expected obwohl kein ";" hingehört! Java Basics - Anfänger-Themen 10
T Compiler-Fehler Methode ist Abstrakt obwohl kein Schlüsselwort gesetzt wurde Java Basics - Anfänger-Themen 5
V Kann kein Java Projekt mehr mit Eclipse erstellen Java Basics - Anfänger-Themen 5
Joew0815 Methoden Objekt als Methoden-Parameter - Kein call-by-reference? Java Basics - Anfänger-Themen 12
J Warum kein new ? Java Basics - Anfänger-Themen 10
C Klassen Wieso kein infiniter Regress? Java Basics - Anfänger-Themen 4
X Fehler beim Öffnen von Jar Datei: "kein Hauptmanifestattribut" Java Basics - Anfänger-Themen 5
Xendarii Quicksort gibt kein Ergebnis aus Java Basics - Anfänger-Themen 13
K Warum ist ein Singleton kein Best Practise? Java Basics - Anfänger-Themen 3
J ResultSet.getStrin - doch kein String? oder wo liegt das Problem? Java Basics - Anfänger-Themen 3
Kenan89 JScrollPane, aber kein Scrollbalken Java Basics - Anfänger-Themen 4
M In Netbeans kein Problem, im Terminal schon Java Basics - Anfänger-Themen 3
E Kein Rechtzeitiger Abbruch bei Rekursiverfunktion Java Basics - Anfänger-Themen 8
C Stringeingabe: kein Satz wegen Leerzeichen möglich Java Basics - Anfänger-Themen 3
I Warum kein this in Methode Java Basics - Anfänger-Themen 17
V Kein neuer Thread trotz Runnable Java Basics - Anfänger-Themen 4
M Kann kein Objekt (AudioFile in diesem Beispiel) für ein leeren String erzeugen Java Basics - Anfänger-Themen 3
K SWT Fehler obwohl kein SWT benutzt wird Java Basics - Anfänger-Themen 4
L String: Objekt und doch kein Objekt? Java Basics - Anfänger-Themen 5
J Warum kein return wert? Java Basics - Anfänger-Themen 10
S kein sound? Java Basics - Anfänger-Themen 3
T JTextPane - setText kein kein neuladen der Bilder? Java Basics - Anfänger-Themen 8
L Kein System.out Java Basics - Anfänger-Themen 14
T Warum öffnet sich kein Fenster? Java Basics - Anfänger-Themen 3
c_sidi90 jTextarea kein Zeilenumbruch erlauben Java Basics - Anfänger-Themen 4
M Kein Sound in der .jar, davor schon Java Basics - Anfänger-Themen 6
alderwaran closed source jar, kein javadoc. was macht methode x eigentlich? ( oracle forms pjc beans ) Java Basics - Anfänger-Themen 2
K Arrays - Komma zu viel, kein Problem? Java Basics - Anfänger-Themen 3
G erweiterte for schleife kein new? Java Basics - Anfänger-Themen 4
C warum liefert equals kein TRUE Java Basics - Anfänger-Themen 12
T meinThread.wait(); wirft immer Exeption & hat kein Effekt Java Basics - Anfänger-Themen 15
Houly kein bild im JFrame bei Mp3 Wiedergabe Java Basics - Anfänger-Themen 5
T Jar-Archive kein System.out.println()?? Java Basics - Anfänger-Themen 5
W "Kein korrekter Schleifendurchlauf" Java Basics - Anfänger-Themen 3
S Kein Event bei Click auf JComboBox Java Basics - Anfänger-Themen 4
radiac Wieso bekomme ich kein Bild drauf??? Java Basics - Anfänger-Themen 13
W peinliches Problem - Kein Konstruktor? Java Basics - Anfänger-Themen 10
Spot84 kein interface iEditorInput Java Basics - Anfänger-Themen 2
Kasoki Compilen von Java Scripts (Nein kein JavaScript xD) Java Basics - Anfänger-Themen 13
G Logger mag kein Linux Java Basics - Anfänger-Themen 3
M erzugt kein objekt Java Basics - Anfänger-Themen 18
G GUI von wiederholender Methode füttern; kein Programmende Java Basics - Anfänger-Themen 2
K kein Sound beim Öffnen der jar-Datei, in Eclipse schon Java Basics - Anfänger-Themen 2
P Eclipse startet kein Applet Java Basics - Anfänger-Themen 6
G Kein EJB-Package vorhanden Java Basics - Anfänger-Themen 2
F Seltsame Zeichen und kein Zeichenumbruch mit Filewriter Java Basics - Anfänger-Themen 4
C Kann kein Java Programm starten Java Basics - Anfänger-Themen 8
G Auf Bildschirm (kein Fenster) schreiben Java Basics - Anfänger-Themen 2
M Prüfen, ob Tag im Jahr kein Samstag/Sonntag ist Java Basics - Anfänger-Themen 7
G kein text im dialogfeld Java Basics - Anfänger-Themen 3
K JavaKara Programm - erfolgreich compiliert jedoch kein Start Java Basics - Anfänger-Themen 12
M SystemTray zeigt kein Icon an Java Basics - Anfänger-Themen 11
L Warum öffnet sich aus einer .jar-Datei kein Dosfenster? Java Basics - Anfänger-Themen 5
G Listen, über Listen. und doch kein Überblick Java Basics - Anfänger-Themen 8
I translate.java - kein sichtbarer fehler im quelltext Java Basics - Anfänger-Themen 18
S Kein wirklicher Ansatz Java Basics - Anfänger-Themen 6
F Kann kein Programm über die Konsole ausführen Java Basics - Anfänger-Themen 5
G Habe bei String kein split()? Java Basics - Anfänger-Themen 7
G Kein Runden Java Basics - Anfänger-Themen 3
G readln, aber kein writeln :( Java Basics - Anfänger-Themen 12
G Kein main Type? Java Basics - Anfänger-Themen 3
R Klasse nicht sichtbar(kein private-Fehler) Java Basics - Anfänger-Themen 2
H kein lösungs ansatz mit java Java Basics - Anfänger-Themen 4
S Layout Probleme (Kein Adden möglich) Java Basics - Anfänger-Themen 18

Ähnliche Java Themen

Neue Themen


Oben