XML Schema integrieren

Tikonteroga

Erfahrenes Mitglied
Hallo,

ich möchte eine Konsolenanwendung in JAVA schreiben, die eine XML-Datei mit einem Schema validiert.

Ich möchte aber das XML-Schema fest vorgeben, so das der Aufrufer nur den Pfad der zu validierrenden Datei eingeben muss.

Die Datei soll im Dateisystem nicht sichtbar sein, sondern in der Anwendung integriert sein, so dass es zu keiner FileNotFoundException kommen kann und ich eine unchecked Exception werfen kann.

Gibt es hierfür eine Richtlinien, wie ich eine Datei als Ressource integriern sollte um JAVA konform zu sein?
 
Du kannst sie mit in das JAR einbinden und dann mittels Classloader.getResourceAsStream einfach im Programm öffnen.
 
Hallo,

vielen Dank für die Antwort.

Ich arbeite mit Eclipse. Soll ich hierfür einen neuen SourceFolder anlegen oder wie sollte ich hier vorgehen, um sauber zu sein ?
 
mmm, ich baue mit maven, da gibts einen folder src/main/resources für sowas, aber afaik kannst du die xsd am besten neben die klasse legen, welche die datei lädt.
 
Hallo,

ich hab da jetzt etwas rumprobiert und könnte schon wieder den Laptop aus dem Fenster werfen.

Meine Struktur im Eclipse sieht folgendermaßen aus.

> XML
> src
> com.firma.xml
XmlValidator.java
> resources
Schema.xsd
> JRE System Library

Wenn ich nun in der main() von XMLValidator folgenden Aufruf mache, bekomme ich immer null zurück.

Code:
final ClassLoader classLoader = XMLValidator.class.getClassLoader();
			
final InputStream inputStream = classLoader.getResourceAsStream("/resources/Schema.xsd");

Könnt ihr mir bitte helfen?
 
Zurück