期间发生内部错误:"JBoss Tools Project Validator"
An internal error occurred during: "JBoss Tools Project Validator"
我使用 Eclipse Kepler Service Release 2 大约一个星期以来,我在使用 JBoss Tools Project Validator 时遇到问题。清理项目时会发生此问题。
看日志,好像是循环依赖:
java.lang.WhosebugError at org.eclipse.jdt.internal.core.SourceType.getPackageFragment(SourceType.java:427)
at
org.eclipse.jdt.internal.core.NamedMember.getFullyQualifiedName(NamedMember.java:183)
at
org.eclipse.jdt.internal.core.SourceType.getFullyQualifiedName(SourceType.java:272)
at
org.eclipse.jdt.internal.core.SourceType.getFullyQualifiedName(SourceType.java:265)
at
org.jboss.tools.common.java.ParametedType.equals(ParametedType.java:161)
at
org.jboss.tools.common.java.ParametedType.isAssignableTo(ParametedType.java:380)
at
org.jboss.tools.common.java.ParametedType.areTypeParametersAssignableTo(ParametedType.java:430)
at
org.jboss.tools.common.java.ParametedType.isAssignableTo(ParametedType.java:398)
at
org.jboss.tools.common.java.ParametedType.isAssignableTo(ParametedType.java:402)
at
org.jboss.tools.common.java.ParametedType.areTypeParametersAssignableTo(ParametedType.java:430)
at
org.jboss.tools.common.java.ParametedType.isAssignableTo(ParametedType.java:398)
at
org.jboss.tools.common.java.ParametedType.isAssignableTo(ParametedType.java:402)
at
org.jboss.tools.common.java.ParametedType.areTypeParametersAssignableTo(ParametedType.java:430)
at
org.jboss.tools.common.java.ParametedType.isAssignableTo(ParametedType.java:398)
at
org.jboss.tools.common.java.ParametedType.isAssignableTo(ParametedType.java:402)
at
org.jboss.tools.common.java.ParametedType.areTypeParametersAssignableTo(ParametedType.java:430)
at
org.jboss.tools.common.java.ParametedType.isAssignableTo(ParametedType.java:398)
at
org.jboss.tools.common.java.ParametedType.isAssignableTo(ParametedType.java:402)ava.lang.WhosebugError
at
org.eclipse.jdt.internal.core.SourceType.getPackageFragment(SourceType.java:427)
at
org.eclipse.jdt.internal.core.NamedMember.getFullyQualifiedName(NamedMember.java:183)
at
org.eclipse.jdt.internal.core.SourceType.getFullyQualifiedName(SourceType.java:272)
at
org.eclipse.jdt.internal.core.SourceType.getFullyQualifiedName(SourceType.java:265)
at
org.jboss.tools.common.java.ParametedType.equals(ParametedType.java:161)
at
org.jboss.tools.common.java.ParametedType.isAssignableTo(ParametedType.java:380)
at
org.jboss.tools.common.java.ParametedType.areTypeParametersAssignableTo(ParametedType.java:430)
at
org.jboss.tools.common.java.ParametedType.isAssignableTo(ParametedType.java:398)
at
org.jboss.tools.common.java.ParametedType.isAssignableTo(ParametedType.java:402)
at
org.jboss.tools.common.java.ParametedType.areTypeParametersAssignableTo(ParametedType.java:430)
at
org.jboss.tools.common.java.ParametedType.isAssignableTo(ParametedType.java:398)
at
org.jboss.tools.common.java.ParametedType.isAssignableTo(ParametedType.java:402) ...
日志文件末尾:
at org.jboss.tools.cdi.internal.core.impl.CDIProject.containsType(CDIProject.java:498)
at
org.jboss.tools.cdi.internal.core.impl.CDIProject.getBeans(CDIProject.java:383)
at
org.jboss.tools.cdi.internal.core.validation.CDICoreValidator.validateInjectionPoint(CDICoreValidator.java:1805)
at
org.jboss.tools.cdi.internal.core.validation.CDICoreValidator.validateBean(CDICoreValidator.java:742)
at
org.jboss.tools.cdi.internal.core.validation.CDICoreValidator.validateResource(CDICoreValidator.java:611)
at
org.jboss.tools.cdi.internal.core.validation.CDICoreValidator.validateAll(CDICoreValidator.java:511)
at
org.jboss.tools.common.validation.ValidatorManager.validateAll(ValidatorManager.java:132)
at
org.jboss.tools.common.validation.ValidatorManager.validateInJob(ValidatorManager.java:84)
at
org.eclipse.wst.validation.internal.operations.ValidatorJob.run(ValidatorJob.java:78)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
不幸的是,我在我的 xhtml 页面或 Java 类 中找不到任何循环依赖项。知道如何解决这个问题吗?
在 Viacheslav Kabanovich 的回复后,我可以找到某事。像这样,我无法想象这是个问题...在我的例子中,代码中有很多这样的星座...而且这并不完全是他想要的组合...
@Named
public class A extends B<Y,Z> implements Serializable
{
private static final long serialVersionUID = 4283839282383928L;
@Inject
private transient C<Y,Z> c;
....
}
尝试更新到 Eclipse Mars + JBoss Tools 4.3.0。
我用这个假豆重现了问题:
public class A<V extends A.B> {
static class B extends A<V> {
}
@Inject
A<V> s2;
}
我想看一个来自 'real life' 的例子。您能否在您的代码中找到一个将参数类型设置为变量的注入,并在此处 post 它带有可分配给它的 bean class 的类型声明?
不管怎样,这是一个错误,我们要修复。
11 月 19 日添加:
我已经创建了问题 https://issues.jboss.org/browse/JBIDE-21036 并修复了我能找到的案例。
请在涉及类型参数的问题案例中添加评论。定义集应该是完整的,例如请在你的示例中添加B和C类型的B和C声明,如果它们扩展了其他类型并声明了带有边界的类型参数,则需要声明所有涉及的类型。
我使用 Eclipse Kepler Service Release 2 大约一个星期以来,我在使用 JBoss Tools Project Validator 时遇到问题。清理项目时会发生此问题。
看日志,好像是循环依赖:
java.lang.WhosebugError at org.eclipse.jdt.internal.core.SourceType.getPackageFragment(SourceType.java:427) at org.eclipse.jdt.internal.core.NamedMember.getFullyQualifiedName(NamedMember.java:183) at org.eclipse.jdt.internal.core.SourceType.getFullyQualifiedName(SourceType.java:272) at org.eclipse.jdt.internal.core.SourceType.getFullyQualifiedName(SourceType.java:265) at org.jboss.tools.common.java.ParametedType.equals(ParametedType.java:161) at org.jboss.tools.common.java.ParametedType.isAssignableTo(ParametedType.java:380) at org.jboss.tools.common.java.ParametedType.areTypeParametersAssignableTo(ParametedType.java:430) at org.jboss.tools.common.java.ParametedType.isAssignableTo(ParametedType.java:398) at org.jboss.tools.common.java.ParametedType.isAssignableTo(ParametedType.java:402) at org.jboss.tools.common.java.ParametedType.areTypeParametersAssignableTo(ParametedType.java:430) at org.jboss.tools.common.java.ParametedType.isAssignableTo(ParametedType.java:398) at org.jboss.tools.common.java.ParametedType.isAssignableTo(ParametedType.java:402) at org.jboss.tools.common.java.ParametedType.areTypeParametersAssignableTo(ParametedType.java:430) at org.jboss.tools.common.java.ParametedType.isAssignableTo(ParametedType.java:398) at org.jboss.tools.common.java.ParametedType.isAssignableTo(ParametedType.java:402) at org.jboss.tools.common.java.ParametedType.areTypeParametersAssignableTo(ParametedType.java:430) at org.jboss.tools.common.java.ParametedType.isAssignableTo(ParametedType.java:398) at org.jboss.tools.common.java.ParametedType.isAssignableTo(ParametedType.java:402)ava.lang.WhosebugError at org.eclipse.jdt.internal.core.SourceType.getPackageFragment(SourceType.java:427) at org.eclipse.jdt.internal.core.NamedMember.getFullyQualifiedName(NamedMember.java:183) at org.eclipse.jdt.internal.core.SourceType.getFullyQualifiedName(SourceType.java:272) at org.eclipse.jdt.internal.core.SourceType.getFullyQualifiedName(SourceType.java:265) at org.jboss.tools.common.java.ParametedType.equals(ParametedType.java:161) at org.jboss.tools.common.java.ParametedType.isAssignableTo(ParametedType.java:380) at org.jboss.tools.common.java.ParametedType.areTypeParametersAssignableTo(ParametedType.java:430) at org.jboss.tools.common.java.ParametedType.isAssignableTo(ParametedType.java:398) at org.jboss.tools.common.java.ParametedType.isAssignableTo(ParametedType.java:402) at org.jboss.tools.common.java.ParametedType.areTypeParametersAssignableTo(ParametedType.java:430) at org.jboss.tools.common.java.ParametedType.isAssignableTo(ParametedType.java:398) at org.jboss.tools.common.java.ParametedType.isAssignableTo(ParametedType.java:402) ...
日志文件末尾:
at org.jboss.tools.cdi.internal.core.impl.CDIProject.containsType(CDIProject.java:498) at org.jboss.tools.cdi.internal.core.impl.CDIProject.getBeans(CDIProject.java:383) at org.jboss.tools.cdi.internal.core.validation.CDICoreValidator.validateInjectionPoint(CDICoreValidator.java:1805) at org.jboss.tools.cdi.internal.core.validation.CDICoreValidator.validateBean(CDICoreValidator.java:742) at org.jboss.tools.cdi.internal.core.validation.CDICoreValidator.validateResource(CDICoreValidator.java:611) at org.jboss.tools.cdi.internal.core.validation.CDICoreValidator.validateAll(CDICoreValidator.java:511) at org.jboss.tools.common.validation.ValidatorManager.validateAll(ValidatorManager.java:132) at org.jboss.tools.common.validation.ValidatorManager.validateInJob(ValidatorManager.java:84) at org.eclipse.wst.validation.internal.operations.ValidatorJob.run(ValidatorJob.java:78) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
不幸的是,我在我的 xhtml 页面或 Java 类 中找不到任何循环依赖项。知道如何解决这个问题吗?
在 Viacheslav Kabanovich 的回复后,我可以找到某事。像这样,我无法想象这是个问题...在我的例子中,代码中有很多这样的星座...而且这并不完全是他想要的组合...
@Named
public class A extends B<Y,Z> implements Serializable
{
private static final long serialVersionUID = 4283839282383928L;
@Inject
private transient C<Y,Z> c;
....
}
尝试更新到 Eclipse Mars + JBoss Tools 4.3.0。
我用这个假豆重现了问题:
public class A<V extends A.B> {
static class B extends A<V> {
}
@Inject
A<V> s2;
}
我想看一个来自 'real life' 的例子。您能否在您的代码中找到一个将参数类型设置为变量的注入,并在此处 post 它带有可分配给它的 bean class 的类型声明?
不管怎样,这是一个错误,我们要修复。
11 月 19 日添加: 我已经创建了问题 https://issues.jboss.org/browse/JBIDE-21036 并修复了我能找到的案例。 请在涉及类型参数的问题案例中添加评论。定义集应该是完整的,例如请在你的示例中添加B和C类型的B和C声明,如果它们扩展了其他类型并声明了带有边界的类型参数,则需要声明所有涉及的类型。