dans mon pot je fournis mon fichier xsd de schéma, à savoir la structure suivante:Chargement XSD schéma dans JAR en utilisant des ressources ne
myjar
- myschema.xsd
Je peux vérifier que le fichier est présent au niveau de la racine à l'intérieur du JAR quand je décompresse il.
J'ajoute le schéma XSD à l'SchemaFactory de la manière suivante:
public void loadXSDSchema() throws InitializationException {
SchemaFactory sf = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
try {
xsdSchema = sf.newSchema(new File(getClass().getClassLoader().getResource(XSD_SCHEMA_FILE).getFile()));
} catch (SAXException e) {
throw new InitializationException(ApiExceptionId.INIT_XSD_SCHEMA, e);
}
Malheureusement, il ne fonctionne pas dans le fichier JAR produit - Je reçois un FileNotFoundException:
Caused by: java.io.FileNotFoundException: D:\dev\myjar.jar!\myschema.xsd (Die Syntax f▒r den Dateinamen, Verzeichnisnamen oder die Datentr▒gerbezeichnung ist falsch)
I Je pensais que je savais que vous deviez le lire comme une ressource quand il est emballé dans un bocal, mais la réalité me montre que je semble faire quelque chose de mal.
Des indices sur ce qui me manque?
Bon, maintenant je le vois. Je connaissais seulement la chose à propos de Resource, mais oui ça a beaucoup de sens, merci! – Stefan