【发布时间】:2011-09-01 06:50:58
【问题描述】:
我目前正在使用 cxf 2.4.0,并且我的代码是 Web 服务的调用者。我能够使用 Maven 中的 cxf 插件生成客户端 java 文件。我的问题是生成文件的最佳实践是什么?我应该编译生成的文件并将生成的类文件打包成一个 jar 文件还是应该在构建路径中包含所有生成的 java 文件?
【问题讨论】:
我目前正在使用 cxf 2.4.0,并且我的代码是 Web 服务的调用者。我能够使用 Maven 中的 cxf 插件生成客户端 java 文件。我的问题是生成文件的最佳实践是什么?我应该编译生成的文件并将生成的类文件打包成一个 jar 文件还是应该在构建路径中包含所有生成的 java 文件?
【问题讨论】:
我让CXF在target下生成代码,它默认选择target/generated-sources/cxf,这对我来说很好。 (如果您使用 xjc 来处理模式,它使用类似的方案。Maven 非常适合约定!)
我有时会将生成的代码放在自己的maven模块中,这有时可以简化事情; Eclipse 对生成的源代码并不完全满意(它不喜欢清理会将源代码从它的脚下撕下来的事实),因此将其放在视线之外会使事情变得更简单。毕竟,它只是一个碰巧从 WSDL 文档生成的库……
【讨论】:
对于生成的代码,我通常在“main”(main/src/java - main/generated/java)下创建一个“generated”文件夹,并且我有 CXF 在那里生成类。然后我只是将“生成”文件夹添加到编译器源路径。
【讨论】:
创建生成代码并将编译后的代码打包成 jar 文件的构建任务(ant/maven)。当 wsdl 发生变化时,您只需重新运行构建任务即可。
如果您选择生成源代码,请使用Generated 注释。大多数 wsdl 生成工具都有这个选项。
【讨论】: