`

用hudson的hudson-deploy插件,无法发布到端口号太大的jboss4.2.3.GA

    博客分类:
  • ci
阅读更多
我们的CI工具使用的是hudson,想把构建后得到的.war发布到容器里,所以就选了hudson-deploy插件

环境如下:

hudson-2.2.1
Hudson Deploy Plugin 1.8
maven 3.0.4
jboss 4.2.3.GA

配置如下:



构建成功,但是发布时报错,错误信息是:

Caused by: java.lang.IllegalArgumentException: port out of range:117200
at java.net.InetSocketAddress.<init>(InetSocketAddress.java:118)
at org.codehaus.cargo.container.jboss.JBoss4xRemoteDeployer.buildSocketAddressForDeployableServer(JBoss4xRemoteDeployer.java:269)
at org.codehaus.cargo.container.jboss.JBoss4xRemoteDeployer.<init>(JBoss4xRemoteDeployer.java:133)
at org.codehaus.cargo.container.jboss.JBoss4xRemoteDeployer.<init>(JBoss4xRemoteDeployer.java:117)
... 27 more

可以看到,我配置的jboss端口是17200,但是上面错误信息里却说117200超过范围,多了一个“1”

尝试把端口号改成8080,发布就成功了。或者使用tomcat来发布,无论端口号是17200还是8080都没有问题

于是下载了hudson-deploy的源码,调试一下,发现原因是以下代码:
    protected InetSocketAddress buildSocketAddressForDeployableServer()
    {
        String portStr = configuration.getPropertyValue(JBossPropertySet.REMOTEDEPLOY_PORT);

        if (portStr == null)
        {
            portStr = "1" + configuration.getPropertyValue(ServletPropertySet.PORT);
        }

        // 其他代码

        return new InetSocketAddress(addressStr, Integer.parseInt(portStr));
    }

相关常量如下:
String REMOTEDEPLOY_PORT = "cargo.jboss.remotedeploy.port";

String PORT = "cargo.servlet.port";

上面那行
String portStr = configuration.getPropertyValue(JBossPropertySet.REMOTEDEPLOY_PORT);

总是返回null

configuration.getPropertyValue(ServletPropertySet.PORT);

则是返回我配置的端口号,这里是17200

所以最后portStr就变成了"1"+"17200"="117200",超过了端口号的最大限制65535而报错

所以如果我配置的端口号是8080,这里就会是18080,不会报错

如果目标容器是tomcat,则不会走进这段代码,也不会报错

原因找到了,不过没有找到解决的办法。如果是用原生的maven-cargo-plugin插件,我知道可以在pom里配置cargo.jboss.remotedeploy.port参数

但是现在用的是hudson-deploy插件,我试了一整天,也没有找到能让我配置这个参数的地方。包括在hudson里配置全局参数,在job里配置-D参数,在windows里配置环境变量,全部没用

因为我们的容器和端口号是不能改的,所以最后只好放弃了hudson-deploy插件,改用原生的maven-cargo-plugin来自动部署了

不过感觉hudson-deploy应该不会这么弱智吧,应该还是我自己用得不对。不知道大家有没有办法解决这个问题?
  • 大小: 14.2 KB
分享到:
评论

相关推荐

    springside4-4.2.3.GA

    《SpringSide4-4.2.3.GA:构建高效Java企业级应用的基石》 SpringSide项目,作为Java开发中的一个强大工具,是基于Spring Framework的快速开发平台。SpringSide 4.2.3.GA版本是该项目的一个稳定版本,它提供了完整...

    maven-hudson-dev-plugin-6.1.7-hudson-1-sources.jar

    maven-hudson-dev-plugin-6.1.7-hudson-1-sources.jar

    springside-core-4.1.0.GA.jar

    《深入解析springside-core-4.1.0.GA.jar》 springside-core-4.1.0.GA.jar是一个重要的Java库,它在Java开发领域中扮演着核心角色,尤其对于那些使用Spring框架的项目。这个jar包不仅包含了springside-core-4.1.0....

    m2eclipse-hudson插件

    1. **自动构建与测试**:通过m2eclipse-hudson插件,开发者可以直接在Eclipse中触发Hudson服务器上的构建和测试流程,无需手动登录到Hudson服务器。 2. **实时反馈**:当Hudson服务器完成构建或测试时,插件会提供...

    maven-hudson-dev-plugin-6.1.7-hudson-1.jar

    maven-hudson-dev-plugin-6.1.7-hudson-1.jar

    hudson-rest-common-2.1.1.zip

    总结来说,"hudson-rest-common-2.1.1.zip"与"Hudson REST API"相关,而"jboss-jsf-api_spec.zip"和"javaserver(tm)面向基于规范jboss jsf api spec版本2.1的api类"则涉及到了JavaServer Faces 2.1规范的实现,...

    maven-hudson-dev-plugin-6.1.7-sources.jar

    maven-hudson-dev-plugin-6.1.7-sources.jar

    maven-hudson-plugin-6.1.7-sources.jar

    maven-hudson-plugin-6.1.7-sources.jar

    maven-hudson-plugin-6.1.5-sources.jar

    maven-hudson-plugin-6.1.5-sources.jar

    maven-hudson-dev-plugin-6.1.7.jar

    maven-hudson-dev-plugin-6.1.7.jar

    hudson-test-utils-3.0.0-bundled.zip

    【标题】"hudson-test-utils-3.0.0-bundled.zip" 是一个与Hudson或Jenkins相关的测试工具包,它包含了用于自动化构建、部署和测试的实用程序。这个版本是3.0.0,说明它是经过多次迭代和改进的成熟版本,可能包含了对...

    hudson插件加载失败解决方案.pdf

    hudson插件加载失败解决方案 本文档将讨论hudson插件加载失败的解决方案,涵盖hudson版本、环境信息、插件安装、Tomcat日志分析、问题排查等方面的知识点。 一、hudson版本信息 hudson版本:hudson-2.2.1.war ...

    hudson-3.1.0-1.1.noarch.rpm

    hudson-3.1.0-1.1.noarch.rpm

    hudson学习教程Hudson安装与使用,Hudson配置,Hudson插件

    Hudson 的优势在于其易于安装和配置,只需将 `hudson.war` 部署到Servlet容器,如Tomcat,即可开始使用,无需额外的数据库支持。 **Hudson 安装与使用** 1. **安装步骤** - 下载最新版的 `hudson.war` 文件。 - ...

    maven-hudson-plugin-6.1.7.jar

    maven-hudson-plugin-6.1.7.jar

    maven-hudson-plugin-6.1.5.jar

    maven-hudson-plugin-6.1.5.jar

    hudson-3.3.1.war

    For Production use, Hudson 3.3.1 from the Eclipse Foundation is now available. This WAR file is suitable for any O/S. We recommend that users of 3.0, 3.1, 3.2 or 3.3.0 upgrade to this release. his ...

    hudson-test-harness-1.394.zip

    【标题解析】"hudson-test-harness-1.394.zip" 提供的是Hudson测试框架的一个版本,Hudson是持续集成工具,用于自动化软件构建、测试和部署。"1.394"表示这是该框架的一个特定版本,通常包含用于测试Hudson插件或...

    Hudson-GIT-plugin:Hudson的Git插件

    Hudson-GIT-plugin是专为Hudson(也称为Jenkins)设计的一款插件,它使得持续集成工具Hudson能够与Git版本控制系统无缝集成。这款插件的目的是简化开发者的工作流程,自动化代码版本管理,以及在代码变更时自动触发...

    hudson-3.2.2.war

    hudson-3.2.2 放在tomcat下直接打开即可

Global site tag (gtag.js) - Google Analytics