2016-12-02 50 views
0

XSL文件的正確路徑我有一個XSL文件位於src/main/java文件夾內的一個包內:指定內部罐子

eu.deniss.report.view.xslt 

我已經使用這個來獲取文件位置:

String location = './src/main/java/eu/deniss/report/view/xslt/' 

雖然從IDE運行時運行正常,當創建.jar時出現錯誤,找不到此文件。

當我的應用程序打包爲.jar這個應用程序使用Spring Boot時,什麼是正確的路徑/方法來調用這個xsl文件。

編輯:

這是我如何加載XSLT文件:

String xslFileForProcessing = "someFile.xslt"; 

File xsltFile = new File(xslFileProperties.getLocation() + xslFileForProcessing); 

TransformerFactory transformerFactory = new net.sf.saxon.TransformerFactoryImpl(); 
Source xsltSource = new StreamSource(xsltFile); 
Transformer transformer = transformerFactory.newTransformer(xsltSource); 
+0

'的src/main/java'是Maven的慣例源文件夾,它不會出現在生成的罐子。 –

+0

@MedhiRedjem以及從罐子裏面調用這個文件的正確方法是什麼? –

+0

這取決於你如何嘗試加載你的xsl模板,添加片段到你的問題。 –

回答

1

使用的InputStream作爲的StreamSource實例的參數。您將能夠加載現有的資源在類路徑中很容易:

final InputStream xsltStream = getClass().getResourceAsStream("/eu/deniss/report/view/xslt/someFile.xslt"); 

Source xsltSource = new StreamSource(xsltStream); 

// for performance optimizations 
Templates cached = factory.newTemplates(xsltSource); 
Transformer transformer = cached.newTransformer(); 
+0

謝謝你會試試看! –

+0

不適合我..如果可能,你能提供一個更詳細的例子嗎?我有我的xslt資源下... – YaP