Ant构建中将taskdef定义的XJC任务转换为exec格式的问题求助
转换后的完整Ant构建代码
<target name="generateStubs" depends="init"> <echo message="Generation des stubs depuis project-model"/> <exec executable="xjc" failonerror="true"> <!-- 对应原xjc任务的destdir属性,指定生成代码的输出目录 --> <arg value="-d"/> <arg value="${generated.sources.path}"/> <!-- 对应原schema标签配置,传入所有待处理的xsd文件路径 --> <arg value="../project-model/src/main/resources/xsd/*.xsd"/> </exec> <!-- 保留原有增量构建判断配置 --> <produces dir="${generated.sources.path}" includes="**/*" /> </target>
注意事项
- 请先确保xjc工具已经配置到系统环境变量PATH中,否则需要将
executable="xjc"替换为xjc可执行文件的绝对路径,例如Windows环境下替换为executable="C:/jaxb-ri/bin/xjc.cmd",Linux/macOS环境替换为executable="/opt/jaxb-ri/bin/xjc" - JDK 8及更早版本默认自带xjc工具,存放在JDK的bin目录下;JDK 9及以上版本已经移除了JAXB相关组件,需要单独下载JAXB RI安装包后配置使用
- 如果原有构建逻辑需要指定生成代码的包名、绑定自定义规则、添加扩展参数,可以按照xjc命令的语法追加arg参数即可,比如指定包名添加
<arg value="-p"/>和<arg value="目标包名"/>参数
内容的提问来源于stack exchange,提问作者jayjaypg22
相关产品推荐
相关产品推荐

