2008-09-12 18 views
5

J'appelle actuellement la ligne de code suivante:faire exception java: java.net.MalformedURLException: aucun protocole

java.net.URL connection_url = new java.net.URL("http://<ip address>:<port>/path"); 

et je reçois l'exception ci-dessus lors de l'exécution. Des idées sur la raison pour laquelle cela se produit?

+0

Je ne reçois pas la même exception avec exactement le même code. – jjnguy

+0

Quelle version de Java provoque l'exception? –

Répondre

2

Votre code fonctionne parfaitement bien pour moi:

public static void main(String[] args) { 
    try { 
     java.net.URL connection_url = new java.net.URL("http://:/path"); 
     System.out.println("Instantiated new URL: " + connection_url); 
    } 
    catch (MalformedURLException e) { 
     e.printStackTrace(); 
    } 
} 

instancié nouvelle URL: http://:/path

Bien sûr, vous avez la ligne droite de code?

4

En note, vous devriez utiliser URI parce que la classe d'URL de Java est foutue. (La méthode equals je crois)

+0

Vous ne savez pas pourquoi le parent a été réduit, mais il peut être judicieux d'utiliser l'URI à la place de l'URL en fonction de ce que vous faites. Voir: http://www.symphonious.net/2007/03/29/javaneturl-or-javaneturi/ –

+0

Vous ne voudrez probablement * pas utiliser java.net.URI si vous travaillez avec des URL comme dans le sauvage (URI souvent non valide). – smola

2

Cette chaîne d'URL semble être invalide. Bien sûr, ce n'est pas censé être 'http://path'? Ou le port & est-il vide?

+0

Merci! ça a marché pour moi. Avait manqué d'ajouter le protocole avant l'adresse IP. Je suppose que Chrome m'a gâté :) – Najeeb

1

J'ai également eu la même exception, mais dans mon cas l'URL que j'essayais d'exécuter avait un espace ajouté. Après avoir enlevé l'espace, cela a bien fonctionné pour moi. Vérifiez que l'URL ne contient aucun espace de fin dans votre cas.

1

J'ai eu la même erreur et il a obtenu résolu par le ci-dessous:

Les fichiers jar (JFree) que j'ai ajouté il y a quelques jours a été corrompu automatiquement et était à l'origine de cette erreur. J'ai téléchargé les mêmes fichiers à partir du réseau et cela a bien fonctionné pour moi.

Questions connexes