现象
在对最新版的JBoss7.1进行测试的过程中发现,部署一个很简单的jar文件到服务器时,竟然都会出现错误,出错信息如下所示:
16:59:46,848ERROR [org.jboss.as.controller.management-operation] (DeploymentScanner-threads- 2) Operation ("composite") failed - address: (undefined) - failuredescription: "JBAS014719: Invalid value specification common 3.0.jar"
16:59:46,864ERROR [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1)JBAS014719: Invalid value specification common 3.0.jar
16:59:46,880ERROR [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1)undefined
原因
通过分析,发现JBoss7.1竟然不支持部署带空格的文件。出现问题的原因是因为org.jboss.as.controller.PathElement这个文件,在进行正则表达式匹配上有问题,JBoss的JIRA上面已经有相关的任务单:
https://issues.jboss.org/browse/AS7-2415
解决方案
由于我们的项目是通过Maven每日构建的,打包出来的文件,其文件名除了项目名外,还包括SVN的 版本号和打包的时间,每一个部分都由空格分开,但现在JBoss却不支持空格的文件名。由于JBoss方面还未提供官方的解决方案,所以只好暂时删除了文件中出现的空格以避免问题的出现。