java - buildr - 从 WSDL 位置编译 jar

标签 java ruby continuous-integration jruby buildr

我正在使用带有 SOAP 的外部 API。

我想在构建器任务中,使用 axis2 (因为我用 Java 编写)从 WSDL 远程位置自动创建 Web 服务客户端的 jar,并将其添加到 war 中进行编译。

这样我就可以知道如果 WSDL 发生更改,我是否需要更改代码。

我怎样才能在构建器中做到这一点?

这是我当前的代码:

desc 'Building API project'
    define 'API' do
        compile.with projects('common'),AMAZON,ACTIVATION,ANTLR,AOPALLIANCE,ASM,ASPECTJ,AXIS,BRAINTREE,C3P0,BEANUTILS,COLLECTIONS,COMMONS_CODEC,DISCOVERY,HTTPCLIENT,COMMONS_IO,LANG,LOGGING,VALIDATOR,DAO,DAOHIBERNATE,DOM4J,EHCAHCE,GUAVA,
        package(:war).with :libs=>project('common')
    end

最佳答案

您需要创建一个任务,自动从 wsdl 生成客户端类,然后将这些生成的类包含在您的项目中。

您可以直接构建一个 jar 并将其作为依赖项添加到您的列表中,或者直接将类链接到您的编译步骤。

这里是 WSDL2Java 命令行实用程序的文档,您可以使用它:http://axis.apache.org/axis2/java/core/docs/userguide-creatingclients.html#adb

即使这可能对您的具体问题没有帮助,但请查看 buildr-examples 存储库:https://github.com/phoet/buildr-examples

关于java - buildr - 从 WSDL 位置编译 jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11848131/

相关文章:

java - 在实体类的枚举中使用Entitymanager

java - 使用\n 分隔符分割

ruby - 如何对给定的数组列表进行排序?

ruby - 你如何模拟 RSpec 中的 break 语句?

continuous-integration - 使用物理设备进行持续集成测试

ios - 在 Linux 上可以进行 iOS 开发的 CI 吗?

java - 没有 ItemListener 也能正常工作,但是当我添加它时,它会给我一个 NullPointerException

java - Windows 和 Linux 加载 ttf 字体时 JLabel 的差异

ruby - 跳过 Cucumber 场景中的某些步骤

continuous-integration - 将 Octopack nuget 版本号更改为 teamcity 的内部版本号