运行scomp,路径永远是一个问题;
1.Program Files之间是有空格的,一定要用“”包围着;
2.-compiler 一定要给出来,要不它不会找javac的,就算环境变量已经有了也没有用。它会提示当前目录没有找到javac的。
3.一个最让头痛的事件就是,jar也要显示地写出来,这个在网上一点信息也没有,显示的信息也悟了很久才发现问题的所在。
java.io.IOException: Cannot run program "D:\java_lib\incubating-xmlbeans-1.0.2\xmlbeans-1.0.2\bin\jar": CreateProcess error=2, 系统找不到指定的文件。
at java.lang.ProcessBuilder.start(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at org.apache.xmlbeans.impl.tool.CodeGenUtil.externalJar(CodeGenUtil.java:304)
at org.apache.xmlbeans.impl.tool.SchemaCompiler.compile(SchemaCompiler.java:825)
at org.apache.xmlbeans.impl.tool.SchemaCompiler.main(SchemaCompiler.java:264)
Caused by: java.io.IOException: CreateProcess error=2, 系统找不到指定的文件。
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(Unknown Source)
at java.lang.ProcessImpl.start(Unknown Source)
... 6 more
BUILD FAILED
总结:一直来,错误都是这样的,系统找不到指定文件。对于lib最好也要配置一下。要不,jar还真的找不到对应的包。
正确的命令如下:
scomp -src src -out test.jar automobile-policy.xsd -compiler "C:\Program Files\Java\jdk1.8.0_40\bin\javac" customer.xsdconfig -jar "C:\Program Files\Java\jdk1.8.0_40\bin\jar"