2015-11-10 63 views
1

我用我的liquibase XML配置文件(Spring集成)與後續符號Liquibase,當地XSD參考

<databaseChangeLog 
     xmlns="http://www.liquibase.org/xml/ns/dbchangelog" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog 
     http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.1.xsd"> 

所以..我會用我的應用程序離線模式,我把「類路徑」符號到我的changelog :

<databaseChangeLog 
     xmlns="http://www.liquibase.org/xml/ns/dbchangelog" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog 
     classpath:xsd/dbchangelog-3.1.xsd"> 

但我有錯誤。你可以幫我嗎?

Caused by: java.net.MalformedURLException: unknown protocol: classpath 
     at java.net.URL.<init>(URL.java:592) 
     at java.net.URL.<init>(URL.java:482) 
     at java.net.URL.<init>(URL.java:431) 
     at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:610) 
     at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(XMLVersionDetector.java:189) 
     at com.sun.org.apache.xerces.internal.impl.xs.opti.SchemaParsingConfig.parse(SchemaParsingConfig.java:582) 
     at com.sun.org.apache.xerces.internal.impl.xs.opti.SchemaParsingConfig.parse(SchemaParsingConfig.java:685) 
     at com.sun.org.apache.xerces.internal.impl.xs.opti.SchemaDOMParser.parse(SchemaDOMParser.java:530) 
     at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.getSchemaDocument(XSDHandler.java:2175) 
+0

我發現了這個工作解決方案:http://stackoverflow.com/questions/8609322/need-understanding-of-spring-handlers-and-spring-模式 – FabryProg

回答

1

我有同樣的問題,

固定這樣的:

<databaseChangeLog 
     xmlns="http://www.liquibase.org/xml/ns/dbchangelog" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog dbchangelog-3.5.xsd"> 

,並將其添加liquibase XML配置文件的位置

dbchangelog-3.5.xsd

+0

謝謝,不幸的是,我必須在類路徑中搜索文件。您的解決方案不是所要求的 – FabryProg