[英]Generating XML Schema from JAXB class files in Ant
你可以很容易地寫一些東西,然后從Ant調用它:
import java.io.File;
import java.io.IOException;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.SchemaOutputResolver;
import javax.xml.transform.Result;
import javax.xml.transform.stream.StreamResult;
public class SchemaGenerator {
public static void main(String[] args) throws Exception {
String contextPath = args[0];
String outputDir = args[1];
JAXBContext jc = JAXBContext.newInstance(contextPath);
jc.generateSchema(new MySchemaOutputResolver(schemaFileName));
}
private static class MySchemaOutputResolver extends SchemaOutputResolver {
private String outputDir;
public MySchemaOutputResolver(String outputDir) {
this.outputDir = outputDir;
}
public Result createOutput(String namespaceURI, String suggestedFileName) throws IOException {
File file = new File(outputDir + "/" + suggestedFileName);
StreamResult result = new StreamResult(file);
result.setSystemId(file.toURI().toURL().toString());
return result;
}
}
}
在您的上下文路徑中,您需要一個jaxb.index文件,其中包含要包含在JAXBContext中的類列表。 或者您可以將類名傳遞給SchemaGenerator類並通過ClassLoader加載它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.