Resourcen und Applikation ausserhelb IDE

Anleitungen, Beispiele und Hilfestellungen zu NetBeans

Moderator: wegus

Antworten
GBunge
Beiträge: 33
Registriert: 25.05.2013, 12:54

Resourcen und Applikation ausserhelb IDE

Beitrag von GBunge » 02.07.2019, 11:38

Hallo NetBeansFans,

eine, vom mir geschriebene, Java-Applikation benutzt Text- und
Imagedateien, die als Resourcen in der IDE im Ordner src/resource liegen.

Die Applikation generiert eine neue Textdatei ( xyz3.txt ), die im Ordner
resource/Texte/ gespeichert werden soll.

Mit "getClass().getResource()" habe ich mir den CLASSPATH ermittelt und die Datei
in dem Unterordner ./src/resource/Texte/ gespeichert.

Das funktioniert aber nur in der IDE NetBeans.
Ausserhalb, wenn ich die Applikation auf dem Desktop ablege, geht es nicht.
Da kann ich nicht mal den CLASSPATH auf diese Weise ermitteln.
Ich habe mir sowohl das JAR.File, als auch ein "bundle" App.app/Contents angesehen.
Dort sollen ja alle relevanten Elemente der Applikation enthalten sein.
An keiner Stelle habe ich die Resourcendateien gefunden.

Wer kann mir einen Weg aufzeigen, mit dem ich mein Ziel erreichen kann.
Gruss GBunge

Benutzeravatar
nigjo
Beiträge: 629
Registriert: 08.09.2009, 09:43
Wohnort: Aachen
Kontaktdaten:

Re: Resourcen und Applikation ausserhelb IDE

Beitrag von nigjo » 08.07.2019, 07:50

Hi

Ich galube, du bringst da ein paar Dinge durcheinander.
  1. Alles unter "src" solltest du niemals per File/Path-API versuchen auszulesen. In der IDE sind deine Quellen zwar da, aber technisch gesehen führst du dein Programm eigentlich unter "build/classes" aus, da wo die .class-Dateien liegen.
  2. Resourcen solltest du immer per getClass().getResource() et. al. abrufen. Wo genau deine .class-Dateien liegen kannst du im Quelltext gar nicht sagen. Die eine IDE speichert sie vielleicht unter "build/classes" ab, die nächste IDE aber vielleicht einfach unter "output". Du weißt es einfach nicht. Darum lass es.
  3. Alles Resourcen, die du anfangs unter "src" stehen hast, solltest du als "read-only" betrachten. Aus fast dem gleichen Grund wie oben. Ist deine Anwendung in einer .jar-Datei KANNST du die Dateien gar nicht verändern. Also lass es.
Alle Daten, die du lesen und schreiben möchtest und die nicht in den Quellen als "Resourcen" vorliegen, solltest du ganz einfach aus den Quellenordner raus lassen. Über "Paths.get()" kannst du Dateien im "aktuellen Verzeichnis" abfragen. Arbeite einfach dort. Im NetBeans Debugger ist dies das Projektverzeichnis. Ansonsten einfach das Verzeichnis in dem die JAR-Datei liegt bzw. ausgeführt wird.

Ich hab da mal was vorbereitet: https://blog.nigjo.de/netbeans/blog/201 ... hnistypen/

Jens
Man sollte seine Werkzeuge kennen. Ansonsten haut man sich mit dem Hammer nur auf die Finger.

--
NetBeans Certified Engineer - Java Getriebe

Antworten