2010-04-20 49 views
0

两个组件运行我缝应用程序,我得到以下错误缝IllegalStateException异常:具有相同的名称和优先级

Exception sending context initialized event to listener instance of class org.jboss.seam.servlet.SeamListener 
java.lang.IllegalStateException: Two components with the same name and precedence - component name: wizardController, component classes: package.WizardController, package.WizardController 
    at org.jboss.seam.init.Initialization.addComponentDescriptor(Initialization.java:543) 
    at org.jboss.seam.init.Initialization.installScannedComponentAndRoles(Initialization.java:809) 
    at org.jboss.seam.init.Initialization.scanForComponents(Initialization.java:756) 
    at org.jboss.seam.init.Initialization.init(Initialization.java:629) 
    at org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:35) 

我不能够解决这个问题。

+0

@Anand您可以显示您的*/WEB-INF/components.xml *以及名为* wizardController的组件吗? – 2010-04-20 13:38:10

回答

2

好像你有两个名为wizardController的组件。尝试搜索wizardController并查看是否在某处找到任何重复项。

1

您可以定义两次相同的组件。看看你是否忘记了代码中的@Name(“componentName”),它们是components.xml中相同的组件定义。

或两个或更多类(复制粘贴并忘记更改组件名称)中的相同@Name(“componentName”)。

0

假设你没有这两个类具有相同的组件名称

如果您已重命名的组成部分,没有清理您的构建/部署的目录这有时会发生。具有相同组件名称的旧.class和新.class仍将被部署。

清洁并重新部署。这应该解决它。

0

确保文件夹WEB-INF/dev不会与WAR文件一起导出。 删除它们,如果存在。

问候, 韦尼丘斯巴斯托斯安德拉德

0

尝试检查爆炸,档案,看看是否被更新。这通常发生在创建一个类并使用与其他类具有相同名称的@Name注释之后,然后决定删除该类。你认为它被删除了,但它仍然在爆炸档案中。