以下是详细信息:这在 Windows 上运行良好,但在 Linux 上无法运行,我需要它才能在 Linux 机器上运行。
schemagen -version 在 Windows 和 Linux 上给出相同的结果。
schemagen 版本“JDK 6 中的 JAXB 2.1.10”用于 XML 绑定 (JAXB) 参考实现的 JavaTM 架构,(在 JDK 6 中构建 JAXB 2.1.10)
这是有问题的蚂蚁代码:
<target name="genSchema" description="Generate Schema from Java source files">
<exec executable="schemagen">
<arg line="-d ../target/schema ../path/to/source/*.java" />
</exec>
</target>
首先,这一切在 Windows 中都可以正常工作。在 Linux 中,如果我从命令行运行以下命令,生成模式没有问题:
schemagen -d ../target/schema ../path/to/source/*.java
注意:写../target/schema/schema1.xsd
但是,如果我在 Linux 中从上面的 build.xml 运行 ant 目标,则会收到以下错误:
[exec] 错误:无法读取:../path/to/source/*.java [exec] 1 错误 [exec] 结果:1
在 Windows 中,完全相同的 ant 目标可以正常工作。请帮忙!把我的头发拉出来。如果您需要更多详细信息,请告诉我。
对于它的价值,我还尝试使用绝对路径而不是备份目录来访问我的 ant 任务中的源文件......尝试使用 ant 执行此操作时仍然遇到相同的错误。
Ex. <arg line="-d ../target/schema /home/path/to/source/*.java" />
[exec] error: cannot read: /home/path/to/source/*.java