Java-Dateien lassen sich nicht editieren

JavaBeginnerWithNB

Aktives Mitglied
Hallo Java-Programmierer,
ich habe ein kleines Problem, und ich verstehe es nicht, da ich mit sowas noch nie konfrontiert war. So folgendes:
- Ich habe ein Java-Projekt (Ordner) bekommen, das ich modifizieren soll.
- Anscheinend wegen dem blauen kleinen Symbol, das man deutlich an den Dateinamen erkennen kann, ist es ein SVN-Projekt gewesen. Außerdem sind die Dateinamen grün gefärbt.
- Wenn ich etwas im Code ändere, wird diese Änderung irgendwie nicht interpretiert (wahrgenommen), und das Programm führt die alten Codefragmente aus.
- Mit dem Debuggen habe ich auch festgestellt, dass der Debugger nur die alten Zeilen interpretiert bzw. erkennt und nicht die neuen.
Das ist echt seltsam. Ich habe jetzt keine Idee, wie ich das lösen kann. Ich bin leider ratlos. Kann jemand von euch Programmierern mir helfen und ein Coup de main geben.
Ich bedanke mich ersteinmal screeenshoot.png
 
Hast du auch schonmal probiert neu zu kompilieren bevor du startest? (Vorweg: Ich kenn mich leider mit Netbeans nicht aus und mir sagt es nichts, was die Symbole/Färbungen bedeuten)
 
Hast du denn mal nachgesehen ob deine Dateien vielleicht read-only sind ? Mal mit Notepad++ oder Wordpad versuchen eine Änderung zu speichern ... Was ist das was du da gekriegt hast ? Ist das ein SVN-Repository ? Oder eine Working-Copy davon ?
 
wo kann man es sehen, ob die Dateien read-only sind? Ich weiss nicht, ob das ein SVN-Repository oder nur eine Kopie davon. Ich habe ein .svn-Verzeichnis in dem src-Ordner drin enthalten.
 
Windows rechtsklick auf das File und Eigenschaften > Attribute > Schreibgeschützt. Was siehst du da?
Wenn ein .svn Ordner drinnen ist, dann hat es auch eine SVN Konfiguration
 
Die Dateien sind nicht schreibgeschützt. Im .svn-Verzeichnis gibt es eine Datei mit dem Namen entry und drin gibt es einen Pfad, der nicht auf meine Machine ist. Ausserdem ist der Name des Projektsordners anders als der von dem Projektordner, den ich bekommen habe.
 
So sieht der Pfad in etwa aus:
file:///C:/JEE6/XXX/YYY-Repository/XGUI/src
file:///C:/JEE6/XXX/YYY-Repository
Kann ich da was ändern. Ich arbeite aber nicht mit SVN. Ich habe den Ordner bekommen und sollte die Dateien normal modifizieren ...
 
Ich denke nicht das du direkt in dem Repository Änderungen vornnehmen kannst. Du wirst schon SVN installieren und die Files aus dem Repository Fetchen müssen. Vielleicht geht das auch von Hand aber halt ich für gefährlich. Weis man nie ob man alles richtig gemacht hat.

Gruß

Claus
 
Wenn ich eine von den Dateien geändert habe (gespeichert, kompiliert und ausgeführt), bekomme ich das selbe Ergebnis. Bedeutet, der alte Code wird ausgeführt. Sogar der Debugger zeigt die alten Werte der Variablen statt die aktuellen.
 
Das Kompilat läuft einwandfrei, da ich gleichzeitig andere Dateien in anderen Projekten/Ordnern ändere und klappt alles dabei. Es liegt nur dadran, dass bei diesem Projekt um ein SVN-Projekt geht. Denn die anderen enthalten keine .svn-Verzeichnisse. Ich starte das Ding wie folgt:
- Clean and Build
- run
 
Sorry bin gerad von clean & build von Maven ausgegangen.
Hast du schon mal versucht alle .class/erzeugten Jar Files zu löschen?
 
Ja. Im Editor werden die Änderungen angezeigt aber die Ausführung irgendwie bezieht sich immer wieder auf den alten code. Speichern geht auch ohne Fehlermeldung. Ja, die haben ein neues Datum.
 
Ist gelöst. Aber ich weiss wirklich nicht wie. Auf einmal geht jetzt die Änderung der Dateien. Ich entschuldige mich für die Unannehmlichkeiten. Und danke sehr für alle, die meine Fragen geantwortet haben. Liebe Grüße
 
Habe ich gemacht. Das Programm läuft trotz der Meldung:
"One or more projects were compiled with errors"
Das Programm läuft mit dieser Fehlermeldung solange bis du über die Stelle kommst wo der Fehler ist. Dann sollte eine Exception kommen.
Oder du führst ganz was anderes aus als du denkst.

Edit: diese .svn - Verzeichnisse kannst du übrigens ersatzlos löschen solange du nicht wieder vorhast das ganze Teil in SVN einzuchecken.
 
Das Programm läuft mit dieser Fehlermeldung solange bis du über die Stelle kommst wo der Fehler ist. Dann sollte eine Exception kommen.
Oder du führst ganz was anderes aus als du denkst.
Glaub mir, das ist wirklich das was ich ausführe. Das macht mich auch verrückt. Die Änderungen, die Ich in der Properties-Datei gemacht habe wurden ja auf dem GUI angezeigt, aber nur weil es eine entsprechende Implementierung dafür in der Java-Datei gibt.
 
nein das Ganze einmal auschecken damit du ein local working copy hast. Das ist dann einfach ein Ordner mit den Dateien die auch änderbar sind. Das brauchste dann nicht wieder einchecken. Damit kannst du dann ganz normal arbeiten wie du dir das wünscht
 
Ok, werde ich machen. Aber bitte nur aus Neugier, warum kompiliert Netbeans die lokalen Dateien aber der Start des Programms bezieht sich auf die, die im Repo sind? Das finde ich echt merkwürdig. Hast du etwa eine Ahnung?
 
Nein da ich mich mit Netbeans nicht auskenne. Aber ich würde halt niemals versuchen händisch in irgendwelchen Repo Dateien zumzufuschen. Das kann nur schief gehen.
 
Ich habe keins. Aber warum verhält sich das Programm, als wäre es schreibgeschützt? Was mich verrückt macht ist, dass ich die Nicht-Java-Dateien ändern kann und es hat auch Einfluss auf das Programverhalten
 
Ich habe aus deinen Antworten bis jetzt noch nicht herauslesen können ob die .java-Datei die du änderst denn nun auch auch der Festplatte geändert wird ? Hast du mal nachgesehen was in NetBeans in den Project-Properties bei "Run" steht ? was führt er denn aus ? Und welche Nicht-Java-Datei kannst du ändern ?
 
Ich habe eine property hinzugefügt, die aber schon im Java-Code über
Code:
hashmap.put("x.name", Gui.INTEGER);
benutzt wird. Die wurde aus irgendwelchem Grund aus der Property-Datei gelöscht. Wahrscheinlich wurde nicht mehr gewollt, dass die Komponente in GUI auftaucht.
Diesen Versuch habe ich hinter mir; ich sehe nix dann in der Ausgabe.
 
Die wurde aus irgendwelchem Grund aus der Property-Datei gelöscht. Wahrscheinlich wurde nicht mehr gewollt, dass die Komponente in GUI auftaucht.
Mir ist ehrlich gesagt völlig unklar von was du da sprichst ? Was für eine GUI ist das denn ? Swing ? Mit dem NetBeans GUI-Builder erstellt ? Was sind das für Properties-Dateien ?
Kann es sein, dass es da dran liegt, dass die App mit launch-Methode der appframework-Library gestartet wird??
Nein kann es nicht
 
Sorry, mein Fehler.
Das ist eine Swing GUI, die mit 1. GUI-Builder, 2.selbstentwickelte App (nicht von mir) implementiert ist.
Um die Labels zum Beispiel mit Text zu versehen, werden die Properties-Dateien benutzt,
Bsp. label.namen=Name des Benutzers
 
Ah ok. Jetzt verstehe ich auch die Properties-Dateien 🙂 Und bist du dir sicher dass die Änderungen die du in Java-Dateien machst wirklich sichtbar wären ? Deshalb mein Vorschlag in der main-Methode als erstes Statement ein println("Hier bin ich"); einzubauen !

Edit: und um sämtlichen SVN-Problemen aus dem Weg zu gehen der Vorschlag die ganzen .svn-Verzeichnisse ersatzlos zu löschen. Dann verschwinden auch sämtliche Punkte und Knödel im Datei-Explorer von NetBeans.
 
Gelöst 🙂
die Sache ist die:
Es gibt zwei main-Methoden, eine war zum Testen gedacht, nehme ich mal an.
Ich habe in Netbeans den Main-Klasseeintrag geändert und jetzt läuft. Danke dir JStein52, da du immer wieder Antworte gegeben hast
 

Zurück
Oben