JUnit測試時,【unknown protocol: classpath】

在application.yml中使用了classpath路徑的uri來獲取工程中的資源文件:

<code>        javax: 
cache:
provider: org.ehcache.jsr107.EhcacheCachingProvider
uri: classpath:ehcache.xml
missing_cache_strategy: create/<code>

啟動工程時正常,但是使用junit測試時,會出現錯誤:

MalformedURLException: unknown protocol: classpath

原因是處理classpath前綴地址的類org.apache.catalina.webresources.TomcatURLStreamHandlerFactory在junit測試時並未加載,提供一個快速解決這個問題的辦法:

<code>    @BeforeClass
public static void init() {
org.apache.catalina.webresources.TomcatURLStreamHandlerFactory.getInstance();
}/<code>

再運行,完美解決。


分享到:


相關文章: