Java Kompilieren über Package grenzen hinaus

M

mato37

Mitglied
Guten Tag Liebes Forum,

Ich nehme gerade an einem Modul in der uni teil, in dem wir an einem Github dokument arbeiten.
Mit der Push und Pull Sache komme ich ganz gut zu rande, jedoch habe ich mit den Packages probleme.

Und zwar bleibt mir der Kompilierer einfach nicht in dem Programm wo ich ihn haben will, sondern geht in andere Files (anderer Packages) und beschwert sich dort über Fehler.

Es wäre wirklich cool, wenn ihr mir helfen könntet das er nur in den Files bleibt in denen ich es auch will.

Hier der betroffene Code:

main Methode:
package uebung6;

public class RunTransportSimulator {

    public static void main(String[] args) {

        Elevator elev = new Elevator("Paternosta", 0 );

        System.out.println(elev.getName());

    }

}

Elevator Klasse:
package uebung6;

class Elevator implements CanMoveVertically {

    private double z;
    private String name;
    private double speed;

    Elevator(String name, double z) {
        this.name = name ;
        this.z = z ;
        this.speed = 0 ;
    }

    @Override
    String getName(){
        return this.name;
    }

    @Override
    void changeVerticalSpeed(double deltaSpeed){
        this.speed += deltaSpeed;
    }

    @Override
    void move() {
        this.z += this.speed ;
    }

    @Override
    String toString(){
        return this.name + " (elevator) is height " + this.z;
    }

}

CanMoveVertically:
package uebung6;

public interface CanMoveVertically extends Movable{

    void changeVerticalSpeed(double deltaSpeed);

}

Movable Interface:
package uebung6;

public interface Movable {

    void move();
    String getName();

}

Nun springt er in folgendes File in einem anderem Package und gibt folgende Fehlermeldung aus:

Babybug:
package gridworld.framework.actor;

public class BabyBug extends DisposableBug {
    private int flowersEaten = 0;

    public BabyBug() {
        this.setColor(Color.YELLOW);
    }

    @Override
    public void act() {
        super.act();
        eatFlowerAhead();
        if (flowersEaten >= 3) {
            Location loc = this.getLocation();
            Grid gr = this.getGrid();
            this.removeSelfFromGrid();
            if (Math.random() <= 0.5) {
                DisposableBug bug = new DisposableBug();
                bug.putSelfInGrid(gr, loc);
            } else {
                Breeder breeder = new Breeder();
                breeder.putSelfInGrid(gr, loc);
            }
        }
    }

    @Override
    public void move() {
        Grid<Actor> gr = getGrid();
        if (gr == null)
            return;
        Location loc = getLocation();
        Location next =
                loc.getAdjacentLocation(getDirection());
        if (gr.isValid(next))
            moveTo(next);
        else
            removeSelfFromGrid();
    }

    private void eatFlowerAhead() {
        Grid<Actor> gr = getGrid();
        if (gr == null)
            return;
        Location loc = getLocation();
        Location next =
                loc.getAdjacentLocation(getDirection());
        if (!gr.isValid(next))
            return;
        Actor neighbor = gr.get(next);
        if (neighbor instanceof Flower) {
            neighbor.removeSelfFromGrid();
            flowersEaten++;
        }
    }
}

Fehlermeldung
C:\Users\Malte\IdeaProjects\Uebung\src\main\java\gridworld\framework\actor\BabyBug.java:6:23
java: cannot find symbol
symbol: variable Color
location: class gridworld.framework.actor.BabyBug


Ich freue mich sehr über eure Hilfe!
VG Malte
 
kneitzel

kneitzel

Top Contributor
Also Packages sind nur eine Strukturierung. Das sind keine Grenzen was die Übersetzung des Codes angeht,

Dazu dienen in den Entwicklungsumgebungen die Projekte. Du kannst dann Projekte einzelnd und unabhängig voneinander übersetzen. (Das trifft natürlich nicht zu, wenn Abhängigkeiten direkt zum anderen Projekt definiert wurden.)

Wie das dann genau aussieht, ist abhängig von Build Tool / Entwicklungsumgebung.
 
M

mato37

Mitglied
Also kompiliert er immernoch die dateien aus den anderen Packages mit und beschwert sich dann weil dort etwas fehlerhaft ist?
einiges ist ja auch public ... ist dann ja nur logisch, wenn er außerhalb der Packages geht
 
kneitzel

kneitzel

Top Contributor
Ja, er übersetzt immer das ganze Projekt.

Also die Gliederung sind in der Regel Projekte. Die sollten also als Ganzes übersetzbar sein.

In einem Projekt können mehrere Packages sein. Das spielt aber für die Auswertung der Dateien, die übersetzt werden sollen, keine Rolle. Aber ja: Es wird in der Regel immer das ganze Projekt übersetzt. Wenn Du das nicht willst (weil die Dateien auch voneinander unabhängig sind), dann teil es in mehrere Projekte auf. dann kannst Du es auch unabhängig voneinander übersetzen.
 
mihe7

mihe7

Top Contributor
C:\Users\Malte\IdeaProjects\Uebung\src\main\java\gridworld\framework\actor\BabyBug.java:6:23
java: cannot find symbol
symbol: variable Color
location: class gridworld.framework.actor.BabyBug
Die Fehlermeldung ist doch recht klar: der Compiler kann Color nicht finden, das in BabyBug.java, Zeile 6, verwendet wird. Es könnte zum Beispiel sein, dass an der Stelle die Klasse Color aus dem Standardpaket java.awt verwendet werden soll. Das muss man dem Compiler sagen, indem man entweder den fully qualified name (java.awt.Color) statt dem einfachen Namen (Color) verwendet oder - und das ist die Regel - in der entsprechenden Datei die Klasse importiert. D. h. in BabyBug.java würde dann einfach ein import java.awt.Color; fehlen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Java-Programm kompilieren Java Basics - Anfänger-Themen 24
J Java Datei lässt sich nicht kompilieren Java Basics - Anfänger-Themen 3
D Übung Felder java Error kompilieren Java Basics - Anfänger-Themen 4
P Compiler-Fehler .java Dateien kompilieren und .class Dateien zur .jar Java Basics - Anfänger-Themen 4
J Kompilieren in anderern Java-Version? Java Basics - Anfänger-Themen 15
J Java-Projekt kompilieren Java Basics - Anfänger-Themen 5
K Programm zum Kompilieren von java-Dateien Java Basics - Anfänger-Themen 17
B Java Datei unter Solaris kompilieren Java Basics - Anfänger-Themen 2
Bloodredangel [gelöst] Kompilieren von .java-Dateien per javac Java Basics - Anfänger-Themen 5
L Java ChatServer kompilieren/starten - aber wie? Java Basics - Anfänger-Themen 2
C Java kompilieren ? Java Basics - Anfänger-Themen 9
J Aus einem Java Programm eine .java datei Kompilieren Java Basics - Anfänger-Themen 6
S Problem beim kompilieren mit Java 1.4 Java Basics - Anfänger-Themen 4
B Ich kann mein Java Programm net Kompilieren? Java Basics - Anfänger-Themen 8
S Probleme beim Java Kompilieren + ausführen Java Basics - Anfänger-Themen 6
D Fehler beim kompilieren einer Java-Datei (javac) Java Basics - Anfänger-Themen 6
rambozola java-datei ohne mainfunktion in class-datei kompilieren? Java Basics - Anfänger-Themen 4
G mehrere hundert Java-Dateien kompilieren Java Basics - Anfänger-Themen 5
Abraham42 Sparguthaben JAVA Java Basics - Anfänger-Themen 1
TimoN11 Java Klassen Global einbinden Java Basics - Anfänger-Themen 1
H Binominalkoeffizient tail-rekursiv in java darstellen Java Basics - Anfänger-Themen 0
H Audio in Java Java Basics - Anfänger-Themen 3
I Erklärung zum Java Code Java Basics - Anfänger-Themen 2
AlexVo String zu Java Anweisung getString("*** java code ***") Java Basics - Anfänger-Themen 19
R Java (Eclipse) "Lagerverwaltung" HILFE Java Basics - Anfänger-Themen 13
TimoN11 Java - Eine oder mehrere Eingaben möglich machen Java Basics - Anfänger-Themen 6
M Rekursive Java-Methode Java Basics - Anfänger-Themen 13
M Java Spiel wie Wer wird Millionär Java Basics - Anfänger-Themen 1
bafou Dreieckszahlen in java Java Basics - Anfänger-Themen 3
P Best Practice Druck aus Java Anwendung in MacOs Java Basics - Anfänger-Themen 0
G Java 2-dimensionalen int-Array Summe Java Basics - Anfänger-Themen 2
B java.time Duration mit Kommazahl? Java Basics - Anfänger-Themen 4
Devin Wo kann man einen Java Lehrplan finden? Java Basics - Anfänger-Themen 5
KogoroMori21 Java Datum Differenz (kleiner Fehler) Java Basics - Anfänger-Themen 10
O Java Weinachtsbaum in einem Bilderramen Java Basics - Anfänger-Themen 5
F Java Programm, das kleine Buchstaben in einem String zählen soll und bei großen Buchstaben oder Sonderzeichen abbrechen soll. Java Basics - Anfänger-Themen 5
Gaudimagspam Dringend Java Hilfe benötigt Java Basics - Anfänger-Themen 19
N java.util.InputMismatchException Fehler Java Scanner Java Basics - Anfänger-Themen 1
Gaudimagspam BMI in Java implementieren Java Basics - Anfänger-Themen 38
C Was ist nötig für ein Java-Programm auf Server für Website Java Basics - Anfänger-Themen 18
F Fehlermeldung java.lang.NullPointerException Java Basics - Anfänger-Themen 4
S Sprung mit Java (GameGrid) Java Basics - Anfänger-Themen 9
Devin Wie lange braucht man um Java zu beherrschen und wie kann man es am schnellsten erlernen? Java Basics - Anfänger-Themen 7
G Java Klassen und Instanzmethoden Java Basics - Anfänger-Themen 15
Zrebna Frage zum "Referenzen-konzept" in Java Java Basics - Anfänger-Themen 8
C java.util Timer läuft zu langsam? Java Basics - Anfänger-Themen 1
T Klassendiagramm in Java überführen Java Basics - Anfänger-Themen 2
Gaudimagspam Caesars Code entziffern in Java Java Basics - Anfänger-Themen 8
V Gehalt berechnen in Java Java Basics - Anfänger-Themen 6
java3690 Java- liste füllen ud die werte addieren Java Basics - Anfänger-Themen 13
justemii Gehalt berechnen - Aufgabe Java-Programm Java Basics - Anfänger-Themen 9
P Mit iPad Java lernen Java Basics - Anfänger-Themen 15
W Java in Exe Datei umgewandelt, Ressourcen fehlen (Bilder und Audiodateien) Java Basics - Anfänger-Themen 1
N Best Practice How can I creat a programm with java under windows 10 in order to open an spreadsheet in libreoffice calc format Java Basics - Anfänger-Themen 11
T Start-Activity für Java Maven Web-Anwendung festlegen Java Basics - Anfänger-Themen 2
J Java FX - Label aktualisieren Java Basics - Anfänger-Themen 1
A Hilfe bei Java Projekt Java Basics - Anfänger-Themen 4
G Java Bruchrechner Addition, Multiplikation... Java Basics - Anfänger-Themen 12
M Java Einstellung von Apache POI für MS Word Erstellung mit Eclipse Java Basics - Anfänger-Themen 6
B Exception in thread "AWT-EventQueue-0" java.util.ConcurrentModificationException Java Basics - Anfänger-Themen 8
T Java Swing - Dreieck zeichnen mit verschiedenen Variablen Java Basics - Anfänger-Themen 8
P Wie für EIN Java Programm von 64bit Java (=Standard) auf 32bit Java Installation (Windows) umschalten? Java Basics - Anfänger-Themen 6
C Suche Nachhilfe in Java Java Basics - Anfänger-Themen 5
B java.io.OutputStream zu java.io.InputStream konvertieren Java Basics - Anfänger-Themen 18
A Scanner Befehl Java Anfänger Java Basics - Anfänger-Themen 8
M Java entity und wertklassen Java Basics - Anfänger-Themen 2
G Java Vererbung Java Basics - Anfänger-Themen 8
M Java Klasse Object Java Basics - Anfänger-Themen 5
M Java GUI label ändert sich erst zum Schluss Java Basics - Anfänger-Themen 4
G Java Lambda Ausdrücke Java Basics - Anfänger-Themen 19
M Java GUI explorer aufrufen um Pfad zu bekommen Java Basics - Anfänger-Themen 3
M Java Anweisungen Java Basics - Anfänger-Themen 4
M Java 8 Lambda Expression Java Basics - Anfänger-Themen 1
S Java Array Probleme Java Basics - Anfänger-Themen 3
Mr_Kleeblatt Operatoren if (arri[i] != "test.java"&& arri[i] != "test.class") Java Basics - Anfänger-Themen 3
S Java Stream API Java Basics - Anfänger-Themen 6
S Java Array Problem... Java Basics - Anfänger-Themen 2
M Java Listen Java Basics - Anfänger-Themen 4
G Java Object value und entity? Java Basics - Anfänger-Themen 2
X Kurzes Java-Programm, das sich komisch verhält Java Basics - Anfänger-Themen 6
_Zabuza_ Erste Schritte Wie am effektivsten Java lernen als Anfänger? Java Basics - Anfänger-Themen 12
G Java Dateisystem Java Basics - Anfänger-Themen 4
G Java charAt Methode Java Basics - Anfänger-Themen 10
L Java lernen Java Basics - Anfänger-Themen 1
G Rot-Schwarz-Bäume Java Java Basics - Anfänger-Themen 10
G Java LinkedList remove Methode Java Basics - Anfänger-Themen 5
G Java LinkedList Java Basics - Anfänger-Themen 6
G Java eingelesene Zahlen Java Basics - Anfänger-Themen 2
Y Java andere Klasse aufrufen Java Basics - Anfänger-Themen 6
I Java zweidimensionales array befüllen mit for-schleife Java Basics - Anfänger-Themen 2
Z vereinfachtes Wörterbuch in java modellieren Java Basics - Anfänger-Themen 10
L Zufälliges Objekt aus der ArraylList ohne java.util.Random Java Basics - Anfänger-Themen 56
S Geht das bei Java ? Java Basics - Anfänger-Themen 11
T Java Anfänger mit konkreten Fragen Java Basics - Anfänger-Themen 2
C Java Spiel Java Basics - Anfänger-Themen 3
R Java SQL Fehler! Java Basics - Anfänger-Themen 4
CT9288 Fragen zu Java Java Basics - Anfänger-Themen 16
M Java Version Verständnisfrage Java Basics - Anfänger-Themen 16
G Java equals() Methode Java Basics - Anfänger-Themen 9
G Java Objekte auf Duplikate testen Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Anzeige

Neue Themen


Oben