Java “在”期间发生内部错误;JBoss工具项目验证程序“;

Java “在”期间发生内部错误;JBoss工具项目验证程序“;,java,eclipse,maven,jboss,Java,Eclipse,Maven,Jboss,我正在使用EclipseKeplerServiceRelease2,因为大约一周前我遇到了JBossToolsProjectValidator的问题。问题发生在清理项目时 查看日志,它看起来像一个循环依赖项: org.eclipse.jdt.internal.core.SourceType.getPackageFragment(SourceType.java:427)上的java.lang.StackOverflowerError 在 org.eclipse.jdt.internal.core.

我正在使用EclipseKeplerServiceRelease2,因为大约一周前我遇到了JBossToolsProjectValidator的问题。问题发生在清理项目时

查看日志,它看起来像一个循环依赖项:

org.eclipse.jdt.internal.core.SourceType.getPackageFragment(SourceType.java:427)上的java.lang.StackOverflowerError 在 org.eclipse.jdt.internal.core.NamedMember.getFullyQualifiedName(NamedMember.java:183) 在 org.eclipse.jdt.internal.core.SourceType.getFullyQualifiedName(SourceType.java:272) 在 org.eclipse.jdt.internal.core.SourceType.getFullyQualifiedName(SourceType.java:265) 在 org.jboss.tools.common.java.ParametedType.equals(ParametedType.java:161) 在 org.jboss.tools.common.java.ParameterdType.isAssignableTo(ParameterdType.java:380) 在 org.jboss.tools.common.java.ParameterdType.areTypeParametersAssignableTo(ParameterdType.java:430) 在 org.jboss.tools.common.java.ParameterdType.isAssignableTo(ParameterdType.java:398) 在 org.jboss.tools.common.java.ParameterdType.isAssignableTo(ParameterdType.java:402) 在 org.jboss.tools.common.java.ParameterdType.areTypeParametersAssignableTo(ParameterdType.java:430) 在 org.jboss.tools.common.java.ParameterdType.isAssignableTo(ParameterdType.java:398) 在 org.jboss.tools.common.java.ParameterdType.isAssignableTo(ParameterdType.java:402) 在 org.jboss.tools.common.java.ParameterdType.areTypeParametersAssignableTo(ParameterdType.java:430) 在 org.jboss.tools.common.java.ParameterdType.isAssignableTo(ParameterdType.java:398) 在 org.jboss.tools.common.java.ParameterdType.isAssignableTo(ParameterdType.java:402) 在 org.jboss.tools.common.java.ParameterdType.areTypeParametersAssignableTo(ParameterdType.java:430) 在 org.jboss.tools.common.java.ParameterdType.isAssignableTo(ParameterdType.java:398) 在 org.jboss.tools.common.java.ParameterdType.isAssignableTo(ParameterdType.java:402)ava.lang.StackOverflower错误 在 org.eclipse.jdt.internal.core.SourceType.getPackageFragment(SourceType.java:427) 在 org.eclipse.jdt.internal.core.NamedMember.getFullyQualifiedName(NamedMember.java:183) 在 org.eclipse.jdt.internal.core.SourceType.getFullyQualifiedName(SourceType.java:272) 在 org.eclipse.jdt.internal.core.SourceType.getFullyQualifiedName(SourceType.java:265) 在 org.jboss.tools.common.java.ParametedType.equals(ParametedType.java:161) 在 org.jboss.tools.common.java.ParameterdType.isAssignableTo(ParameterdType.java:380) 在 org.jboss.tools.common.java.ParameterdType.areTypeParametersAssignableTo(ParameterdType.java:430) 在 org.jboss.tools.common.java.ParameterdType.isAssignableTo(ParameterdType.java:398) 在 org.jboss.tools.common.java.ParameterdType.isAssignableTo(ParameterdType.java:402) 在 org.jboss.tools.common.java.ParameterdType.areTypeParametersAssignableTo(ParameterdType.java:430) 在 org.jboss.tools.common.java.ParameterdType.isAssignableTo(ParameterdType.java:398) 在 org.jboss.tools.common.java.ParameterdType.isAssignableTo(ParameterdType.java:402)

在日志文件的末尾:

位于org.jboss.tools.cdi.internal.core.impl.CDIProject.containsType(CDIProject.java:498) 在 org.jboss.tools.cdi.internal.core.impl.CDIProject.getBeans(CDIProject.java:383) 在 org.jboss.tools.cdi.internal.core.validation.CDICoreValidator.validateInputPoint(CDICoreValidator.java:1805) 在 org.jboss.tools.cdi.internal.core.validation.CDICoreValidator.validateBean(CDICoreValidator.java:742) 在 org.jboss.tools.cdi.internal.core.validation.CDICoreValidator.validateResource(CDICoreValidator.java:611) 在 org.jboss.tools.cdi.internal.core.validation.CDICoreValidator.validateAll(CDICoreValidator.java:511) 在 org.jboss.tools.common.validation.ValidatorManager.validateAll(ValidatorManager.java:132) 在 org.jboss.tools.common.validation.ValidatorManager.validateInJob(ValidatorManager.java:84) 在 org.eclipse.wst.validation.internal.operations.ValidatorJob.run(ValidatorJob.java:78) 位于org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)

不幸的是,我在我的xhtml页面或Java类中找不到任何循环依赖性。你知道怎么解决这个问题吗

在收到维亚切斯拉夫·卡巴诺维奇的回复后,我能找到像这样的东西,这是我无法想象的问题。。。在我的例子中,代码中有很多这样的星座。。。也不是他说的那种组合

@Named
public class A extends B<Y,Z> implements Serializable
{
private static final long serialVersionUID = 4283839282383928L;
@Inject
private transient C<Y,Z> c;
....
@Named
公共类A扩展B实现可序列化
{
私有静态最终长serialVersionUID=42839282383928L;
@注入
私有瞬态C;
....

}

尝试更新到Eclipse Mars+JBoss Tools 4.3.0。

我重现了这个假bean的问题:

public class A<V extends A.B> {

    static class B extends A<V> {       
    }

    @Inject
    A<V> s2; 
}
公共A类{
静态类B扩展了{
}
@注入
A s2;
}
我想看一个来自“现实生活”的例子。您能在代码中找到一个将参数类型设置为变量的注入,并在这里发布可分配给它的bean类的类型声明吗

不管怎么说,这是一个需要我们修复的bug

11月19日新增: 我已经创建了我可以找到的问题和修复案例。
请在涉及类型参数的问题案例中添加注释。定义集应该是完整的,例如,请在您的示例中添加类型B和C的B和C声明,如果它们扩展了其他类型并声明了带有边界的类型参数,则需要所有相关类型的声明。

我查看了它,但很难找到,因为该项目由数百个类组成。。。第一次快速扫描显示了我在上面编辑的那个…有没有办法找到导致这个问题的类?我现在非常确定上面的代码导致了这个问题。。。因为我删除了注入的参数类型var