# Eclipse-Plugin + Velocity + Files lesen



## StefanTmp (25. Feb 2009)

Hi zusammen, 

ich habe folgendes Problem in meinem Eclipse Plug-in:
In meinem Root-Plugin-Verzeichnis sind die beiden Files "velocity.properties" und "Templates/TableTemplate.tpl"

Anfangs hatte ich Schwierigkeiten, die velocity.properties auszulesen, was ich aber folgendermaßen hingekriegt habe:

URL url = Activator.getDefault().getBundle().getResource("velocity.properties");
Velocity.init(FileLocator.toFileURL(url).getPath());

Dies hätte ich nun analog auf das Template angewendet, also:

url=Activator.getDefault().getBundle().getResource(pTemplatePath);
Template lTemplate = Velocity.getTemplate(FileLocator.toFileURL(url).getPath());

pTemplatePath ist ein übergebener String, z.B. "Templates\\TableTemplate.tpl"

Wenn ich mir mit 

system.out.println(FileLocator.toFileURL(url).getPath());

den Pfad ausgeben lasse, wird das TableTemplate.tpl an der richtigen Stelle gefunden. Dennoch wirft mir der Compiler eine "org.apache.velocity.exception.ResourceNotFoundException" um die Ohren;

Hoffe ich hab mein Problem verständlich rübergebracht, danke schon mal!
Grüße
StefanTmp


----------



## Spacerat (25. Feb 2009)

"getBundle().getRessource()" liesst meines Wissens ausschliesslich ".properties"-Dateien. Vllt. funktioniert ja "getClass().getClassLoader().getRessource()"


----------



## StefanTmp (25. Feb 2009)

Hallo Spacerat, 

danke erstmal für deine schnelle Antwort. Habe deine Idee versucht, hat aber leider nicht zu dem gewünschten Erfolg geführt. 

Das sysout ist aber nach wie vor korrekt, also der komplette Pfad zur .tpl Datei. 

Grüße


----------



## Wildcard (25. Feb 2009)

> pTemplatePath ist ein übergebener String, z.B. "Templates\\TableTemplate.tpl"


Du bist Windows geschädigt. Der separator einer  URL ist immer /, nicht \.
Lass dir das ausgeben:
[HIGHLIGHT="Java"]URL url = FileLocator.find(Activator.getDefault().getBundle(), Path.ROOT.append("Templates/TableTamplate.tpl"), null);[/HIGHLIGHT]

EDIT: ich verschieb das mal ins richtige Forum.


----------

