Forum: PC-Programmierung Netbeans 11: Debugger ignoriert Quelltexte


von Uhu U. (uhu)


Lesenswert?

Ich versuche seit Stunden, einem Fehler beim Aufruf mit yamlbeans auf 
die Spur zu kommen - es ist zum Kotzen…

Zunächst hatte ich yamlbeans 1.3 als jar in Projekt eingebunden. So ist 
einem IOException in yamlbeans nicht auf den Grund zu kommen.

Dann habe ich das Quellverzeichnis (in einem anderen Verzeichnis) unter 
Project|Properties|Sources eingebunden und die Lib aus dem Projekt 
gelöscht - das Projekt compiliert, aber der Debugger ignoriert die 
Quelltexte.

Als nächstes habe ich das yamlbeans-Quellverzeichnis direkt in das 
src-Verzeichnis meines Projektes kopiert, den Quelltext-Pfad unter 
Project|Properties|Sources gelöscht und Source|Scan for external Changes 
ausgeführt. Wie gehabt, das Projekt compiliert, aber der Debugger ign…

In den Quellfiles stehen natürlich noch die originalen package-Namen und 
die würde ich eigentlich ungerne alle umpfriemeln.

Auf der Debugger-Console erscheint eine Fehlermeldung:
No source root found for URL 
'file:/home/.../YamlBeans/com/esotericsoftware/yamlbeans/YamlWriter.java 
'.  Verify the setup of project sources.

Wie kann man den verdammten Debugger dazu bewegen, diese Quell-Files als 
existent und zugreifbar zu behandeln?

: Bearbeitet durch User
von Wühlhase (Gast)


Lesenswert?

Wenn ich das richtig verstehe wundert es mich nicht, wenn die alten 
Paketpfade noch drinstehen. Es wundert mich eher, daß das Programm 
trotzdem noch kompiliert.

Wie wäre es mit folgendem: Schreib doch die Unittests vom yamlBeans um 
und führe diese zum Debuggen aus.

Was mich noch wundert: Auf GitHub steht "Use Java 7 JDK". Tust du das? 
Java 7 wird ja nun schon ein Weilchen nicht mehr gepflegt...

von Uhu U. (uhu)


Lesenswert?

Die class, die geyamelt werden soll, enthielt ein LocalDateTime. Yaml 
kann das nicht verarbeiten, weil es für LocalDateTime keinen 
parameterlosen Konstruktor gibt. Wenn man ein Long draus macht, geht es.

> "Use Java 7 JDK"

Das scheint keine Rolle zu spielen - ich benutze JDK 12.

Aber: das Problem, fremde Libs mit Quelltext einzubinden und zu 
debuggen, hätte ich unabhängig vom Anlass gerne gelöst. Erfahrungsgemäß 
kann man so kniffligen Fehlern viel leichter auf die Spur kommen.

von Wühlhase (Gast)


Lesenswert?

Uhu U. schrieb:
> Aber: das Problem, fremde Libs mit Quelltext einzubinden und zu
> debuggen, hätte ich unabhängig vom Anlass gerne gelöst.

Deswegen ja auch der Vorschlag, dein Problem in den Unittests der 
Bibliothek nachzustellen, falls es nicht zuviel Aufwand bedeutet.

Irgendwas, ich weiß jedoch nicht mehr was genau, wurde in Java 9 
umgestrickt daß zu Inkompatibilitäten mit älteren Versionen führen kann. 
Ich selber arbeite noch mit Java 8 weil zu faul zum wechseln.

von Uhu U. (uhu)


Lesenswert?

Wühlhase schrieb:
> Deswegen ja auch der Vorschlag, dein Problem in den Unittests der
> Bibliothek nachzustellen, falls es nicht zuviel Aufwand bedeutet.

Die yamlbeans funktionieren jetzt einwandfrei.

> Irgendwas, ich weiß jedoch nicht mehr was genau, wurde in Java 9
> umgestrickt daß zu Inkompatibilitäten mit älteren Versionen führen kann.

Es gibt im konkreten Fall kein Kompatibilitätsproblem.


Ich möchte das Problem "fremde Libs im Quelltext im laufenden Projekt 
debuggen" gerne generell für alle möglichen Quelltexte gelöst haben, 
nicht nur für einen speziellen.

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.