我需要一些帮助!我正在尝试从java中的xsd生成类(使用eclipse),我不知道该怎么做,我在许多教程中搜索但是他们都谈到先创建类然后使用xsd。 我想使用Jaxb从xsd自动创建类。 你有什么建议或教程可以帮助我吗?
答案 0 :(得分:1)
使用JDK随附的xjc
命令:
将XML模式文件编译为完全注释的Java类。
答案 1 :(得分:0)
我设法做到了! 我将展示我的解决方案,以防有人遇到同样的问题。 我在一个方法中使用了ProcessBuilder,以便从java执行命令:
公共类FromXmlToJava实现了Runnable {
private final InputStream inputStream;
FromXmlToJava ( InputStream inputStream)
{
this.inputStream = inputStream;
}
private BufferedReader getBufferedReader(InputStream is)
{
return new BufferedReader(new InputStreamReader(is));
}
public void run() {
BufferedReader br = getBufferedReader(inputStream);
String ligne = "";
try
{
while ( (ligne = br.readLine() )!= null)
{
System.out.println(ligne);
}
} catch (IOException e)
{
e.printStackTrace();
}
}
public static class Main {
// chemin de l'emplacement des classes generées
public static final String CHEMIN = "C:\\Users\\****";
public static void main(String[] args) {
try {
ProcessBuilder pb = new ProcessBuilder("cmd.exe", "/C",
"C:\\Users\\***\\xjc.bat ***.xsd");
// modifier le repertoire d'execution de la commande
pb.directory(new File(CHEMIN));
/* Map env = pb.environment();
for (Entry entry : env.entrySet()) {
System.out.println(entry.getKey() + " : " + entry.getValue());
}
env.put("MonArg", "Valeur");
*/
Process p = pb.start();
FromXmlToJava fluxSortie = new FromXmlToJava(p.getInputStream());
FromXmlToJava fluxErreur = new FromXmlToJava(p.getErrorStream());
new Thread(fluxSortie).start();
new Thread(fluxErreur).start();
p.waitFor();
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}