2011-10-18 47 views
1

在Tomcat的7我的web應用程序,我得到使用servletContext.getResource("file.xml")在應用程序的資源。這會以jndi:/localhost/app/file.xml的形式返回一個URL。獲得一個真正的文件路徑爲資源在Tomcat中

但是,因爲我需要這個文件傳遞給庫,只能接受真正的文件路徑(它有一個嵌入式的Ruby腳本,我認爲)的網址不會做。

是否有一種方式來獲得真正的文件路徑?我知道這會讓應用程序無法從WAR運行,但沒關係。

回答

0

我有一個非常骯髒的解決方法:

 // get resource 
     URL resU = servletContext.getResource("style.less"); 

     // get scratch dir 
     File workDir = (File) servletContext.getAttribute("javax.servlet.context.tempdir"); 

     // copy resource to scratch file 
     File newFile = new File(workDir, "style.less"); 
     Files.write(Resources.toByteArray(resU), newFile); // Google Guava 

我應該能夠與一些緩存/校驗加快這,但它不是漂亮。

相關問題