8
votes

java.net.malformedurxception: pas de protocole

J'écris une classe pour exécuter XJC en Java. Mon code se passe comme suit:

Exception in thread "main" java.net.MalformedURLException: no protocol: books.xsd
    at java.net.URL.<init>(Unknown Source)
    at java.net.URL.<init>(Unknown Source)
    at java.net.URL.<init>(Unknown Source)
    at jaxbTest.Test1.main(Test1.java:22)


2 commentaires

Avez-vous essayé SC.PARSESCHEMA (Nouvelle INPUTSOURCE ("C: \\ Users \\ users \\ Simran \\ Desktop \\ books.xsd")); Comme je l'ai suggéré avant?


ya j'avais essayé cela et ça n'a pas travaillé


3 Réponses :


11
votes

Ce n'est pas une URL valide. Il peut être fait valide en prépension fichier: // comme protocole.

Mais vous n'avez pas besoin d'une URL du tout. Vous pouvez transmettre un lecteur (ainsi qu'un introuvable ) dans le constructeur INPUTSOURCE . Donc, par exemple: xxx


2 commentaires

J'ai toujours pensé que c'était avec trois / s, comme le dossier: ///, mais je pervers cette réponse. De plus, le terme correct n'est pas ajouté mais de l'avant-rapport.


merci pour le "prépendeur". Cela fonctionne également avec deux barres obliques, je ne suis pas sûre qui est la norme. Je suppose que c'est normalisé quel que soit le nombre de barres obliques.



18
votes

Essayez Ajoutez "Fichier: //" au début de votre chemin de fichier. Mais comme Bozho proposé, vous n'avez pas besoin d'une URL ici.


4 commentaires

+1, a mentionné le fichier fichier: // protocole pendant que je l'ajoutais à ma réponse :)


Quelqu'un peut-il me donner un lien pour utiliser XJC via des appels API?


Oh, veuillez marquer une certaine réponse comme acceptée et poser une autre question. N'utilisez pas de commentaires pour cela.


Mais à Ubuntu?



-3
votes

J'avais ce qui précède, tout en ouvrant la console virtuelle.

Résolution: Vous avez une option très sécurisée dans le navigateur.

Démarrer -> Configuration Java -> Sécurité - Machine - Très élevé.


0 commentaires