# Probleme mit Kompilierung von JNDI



## lecorniaud (10. Jun 2006)

Hallo zusammen
Ich lerne seit einigen Tage JNDI,da ich diese Technik in mein Projekt verwenden muss.Ich habe einige Beispiel-Programe aus Internet heruntergeladen, aber immer ich sie kompielere bekomme ich Fehlermeldungen,obwohl ich alle benötigte Klassenbibliotheken angepasst habe,ich bitte um Hilfe ,um zu wissen wie ich eine JNDI-Program kompilieren kann. 
  Ich verwende Window XP,Eclipse als Entwicklungsumgebung ,JAVA SDK 1.5. 
 Hier ist ein Program das,ich geschrieben habe.


```
import java.util.Hashtable;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;

/* Entfernt eine Referenz aus dem Kontext*/
public class Unbind {
	 public final static String provider="C:/test.txt";
	/*Bennt die Datei ReadMe.txt in LiesMich.txt um*/
	public static void main(String[] args){
		try{
			//Konfiguration der JNDI-Umgebung
			Hashtable env = new Hashtable();
			
			//Setzen des Service-Providers(FileSystem)
			env.put(Context.INITIAL_CONTEXT_FACTORY,
					"com.sun.jndi.fscontext.RefFSContextFactory");
			env.put(Context.PROVIDER_URL,provider);
			
			//Erzeugen des InitialContext
			Context ctx = new InitialContext(env);
			
			//Löschen der Datei
			ctx.unbind("test.txt");
			
			//Schliessen der Verbindung
			ctx.close();
		}catch(NamingException nex){
			nex.printStackTrace();
		}
		return;
	}

}
```
Beim KOmpielen become ich folgende Fehlermeldungen :

C:/test.txt [Root exception is java.net.MalformedURLException: unknown protocol: c]
	at com.sun.jndi.fscontext.FSContextFactory.getFileNameFromURLString(FSContextFactory.java:119)
	at com.sun.jndi.fscontext.RefFSContextFactory.createContext(RefFSContextFactory.java:41)
	at com.sun.jndi.fscontext.RefFSContextFactory.createContextAux(RefFSContextFactory.java:47)
	at com.sun.jndi.fscontext.FSContextFactory.getInitialContext(FSContextFactory.java:49)
	at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
	at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
	at javax.naming.InitialContext.init(Unknown Source)
	at javax.naming.InitialContext.<init>(Unknown Source)
	at entfernen.Unbind.main(Unbind.java:24)
Caused by: java.net.MalformedURLException: unknown protocol: c
	at java.net.URL.<init>(Unknown Source)
	at java.net.URL.<init>(Unknown Source)
	at java.net.URL.<init>(Unknown Source)
	at com.sun.jndi.fscontext.FSContextFactory.getFileNameFromURLString(FSContextFactory.java:117)
	... 8 more

Im Voraus vielen Dank für deine Hilfe.

Lecorniaud.

[Edit by foobar: Codetags eingefügt]


----------



## Wildcard (11. Jun 2006)

Naja, C:/test.txt ist eben keine URL, daher die Exception.  :wink: 
Lass das C: weg


----------



## byte (11. Jun 2006)

```
new File("C:/test.txt").toURL()
```

... ist häufig auch praktisch, denn dann muss man sich nicht mit Problemen wie Leer- oder Sonderzeichen rumschlagen.


----------

