错误信息如下:
-- Incompletely deployed packages ---
org.jboss.deployment.DeploymentInfo@8a64922d { url=file:/E:/soft/jboss-4.2.3.GA/server/default/deploy/ReadPlatform_Consumer.ear }
deployer: org.jboss.deployment.EARDeployer@49ca75
status: Deployment FAILED reason: Error during create of EARDeployment: file:/E:/soft/jboss-4.2.3.GA/server/default/deploy/A.ear; - nested throwable: (javax.management.InstanceAlreadyExistsException: jboss.j2ee:service=EARDeployment,url=A.ear' already registered.)
state: FAILED
watch: file:/E:/soft/jboss-4.2.3.GA/server/default/deploy/A.ear
altDD: null
lastDeployed: 1285571562453
lastModified: 1285571562093
mbeans:
今天出现了这个问题,在deploy下只有一个A.ear,而启动jboss时却提示A.ear这个名字已经被注册了,很奇怪。
当时用了投机取巧的方法,在其他jboss里拷贝一个deploy到有问题的jboss下,覆盖原来的deploy,问题解决。
后来认真查一下有问题的deploy,发现在deploy下的jboss-bean.deployer目录,存在一个A.ear,删掉这个ear后,启动就正常了。这里应该是部署的时候不小心放错了位置导致的。
另外:
jboss-bean.deployer提供了JBoss微容器功能,通过它部署在.beans文件中包装了的POJO服务。
deploy下各个文件夹的加载顺序也要注意,在这里,这个jboss-bean.deployer里的包加载顺序是先于deploy下的包的。