我们的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
分享到:
相关推荐
maven-hudson-dev-plugin-6.1.7-hudson-1-sources.jar
Hudson安装与使用,Hudson配置,Hudson插件Hudson安装与使用,Hudson配置,Hudson插件Hudson安装与使用,Hudson配置,Hudson插件Hudson安装与使用,Hudson配置,Hudson插件Hudson安装与使用,Hudson配置,Hudson插件...
maven-hudson-dev-plugin-6.1.7-hudson-1.jar
maven-hudson-dev-plugin-6.1.7-sources.jar
maven-hudson-plugin-6.1.7-sources.jar
maven-hudson-plugin-6.1.5-sources.jar
maven-hudson-dev-plugin-6.1.7.jar
hudson-3.1.0-1.1.noarch.rpm
maven-hudson-plugin-6.1.7.jar
maven-hudson-plugin-6.1.5.jar
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-3.2.2 放在tomcat下直接打开即可
相信看过基于Hudson的持续集成指南的人都会去下载hudson插件:checkstyle.hpi,但是大家发现,网上铺天盖地的网址,都是无法打开。。。是的。。。这个插件差点找死我了。。。。 既然是别人做的,我也无权要分,0分送...
eclipse集成hudson Ci服务器的插件
android-drawables-maven-plugin.zip,一个maven插件,用于从svg文件生成android可绘制资源。PNG文件将根据SVG文件以指定的像素密度生成。该插件还允许目录结构的扁平化,以及位图资源与svgsa maven插件一起打包和...
spring-mvc-logger.zip,使用spring mvc时记录http请求/响应的小型java库
jboss-jsf-api_spec.zip,javaserver(tm)面向基于规范jboss jsf api spec版本2.1的api类
notifo-log4j-appender.zip,通过notifo服务发送消息的notifo log4j appender log4j appender
Hudson-GIT-plugin:Hudson的Git插件
hudson 安装包 subversion 安装包 maven 包 hudson depoly 插件 UTF-8 BOM去除工具