JBoss AS 7在启动时抛出“java.lang.reflect.MalformedParameterizedTypeException”

JBoss AS 7在启动时抛出“java.lang.reflect.MalformedParameterizedTypeException”,java,jakarta-ee,jboss,jboss7.x,jboss-weld,Java,Jakarta Ee,Jboss,Jboss7.x,Jboss Weld,我使用的JBoss 7.1.3是从Ubuntu 13.10 64位和开放jdk 7的源代码构建的。所有的应用程序都运行良好。与其他使用Windows和其他Linux的开发人员以及来自Oracle和OpenJDK的Java7配合使用也很好 现在,我正在尝试在另一台机器上启动应用程序,这是一台具有开放jdk 7的Redhat 6-64位虚拟机 使用来自其他机器的extacly相同jboss压缩jboss文件夹并在新机器中解压缩,应用程序将不再启动 我尝试使用干净的JBoss 7.1.3、7.2.0甚

我使用的JBoss 7.1.3是从Ubuntu 13.10 64位和开放jdk 7的源代码构建的。所有的应用程序都运行良好。与其他使用Windows和其他Linux的开发人员以及来自Oracle和OpenJDK的Java7配合使用也很好

现在,我正在尝试在另一台机器上启动应用程序,这是一台具有开放jdk 7的Redhat 6-64位虚拟机 使用来自其他机器的extacly相同jboss压缩jboss文件夹并在新机器中解压缩,应用程序将不再启动

我尝试使用干净的JBoss 7.1.3、7.2.0甚至WildFly 8.1.0.CR1,但错误依然存在

我还在新机器上编译应用程序源代码,但错误仍然存在

请遵循以下错误:

20:49:12,388 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC00001: Failed to start service jboss.deployment.unit."vendas-1.0.1-SNAPSHOT.war".WeldService: org.jboss.msc.service.StartException in service jboss.deployment.unit."vendas-1.0.1-SNAPSHOT.war".WeldService: com.google.common.collect.ComputationException: java.lang.reflect.MalformedParameterizedTypeException
at org.jboss.as.weld.services.WeldService.start(WeldService.java:83)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_55]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_55]
at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_55]
Caused by: com.google.common.collect.ComputationException: java.lang.reflect.MalformedParameterizedTypeException
at com.google.common.collect.ComputingConcurrentHashMap$ComputingMapAdapter.get(ComputingConcurrentHashMap.java:397)
at org.jboss.weld.resources.SharedObjectCache.getTypeClosure(SharedObjectCache.java:82)
at org.jboss.weld.resources.SharedObjectFacade.getTypeClosure(SharedObjectFacade.java:65)
at org.jboss.weld.introspector.TypeClosureLazyValueHolder.computeValue(TypeClosureLazyValueHolder.java:52)
at org.jboss.weld.introspector.TypeClosureLazyValueHolder.computeValue(TypeClosureLazyValueHolder.java:31)
at org.jboss.weld.util.LazyValueHolder.get(LazyValueHolder.java:34)
at org.jboss.weld.introspector.jlr.AbstractWeldAnnotated.getTypeClosure(AbstractWeldAnnotated.java:193)
at org.jboss.weld.bean.AbstractBean.initTypes(AbstractBean.java:187)
at org.jboss.weld.bean.ManagedBean.<init>(ManagedBean.java:280)
at org.jboss.weld.bean.ManagedBean.of(ManagedBean.java:253)
at org.jboss.weld.bootstrap.AbstractBeanDeployer.createManagedBean(AbstractBeanDeployer.java:212)
at org.jboss.weld.bootstrap.BeanDeployer.createBeans(BeanDeployer.java:139)
at org.jboss.weld.bootstrap.BeanDeployment.createBeans(BeanDeployment.java:204)
at org.jboss.weld.bootstrap.WeldBootstrap.deployBeans(WeldBootstrap.java:350)
at org.jboss.as.weld.WeldContainer.start(WeldContainer.java:82)
at org.jboss.as.weld.services.WeldService.start(WeldService.java:76)
... 5 more
Caused by: java.lang.reflect.MalformedParameterizedTypeException
at sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.validateConstructorArguments(ParameterizedTypeImpl.java:60) [rt.jar:1.7.0_55]
at sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.<init>(ParameterizedTypeImpl.java:53) [rt.jar:1.7.0_55]
at sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.make(ParameterizedTypeImpl.java:95) [rt.jar:1.7.0_55]
at sun.reflect.generics.factory.CoreReflectionFactory.makeParameterizedType(CoreReflectionFactory.java:105) [rt.jar:1.7.0_55]
at sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:140) [rt.jar:1.7.0_55]
at sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49) [rt.jar:1.7.0_55]
at sun.reflect.generics.repository.ClassRepository.getSuperclass(ClassRepository.java:84) [rt.jar:1.7.0_55]
at java.lang.Class.getGenericSuperclass(Class.java:696) [rt.jar:1.7.0_55]
at org.jboss.weld.util.reflection.HierarchyDiscovery.discoverFromClass(HierarchyDiscovery.java:126)
at org.jboss.weld.util.reflection.HierarchyDiscovery.discoverTypes(HierarchyDiscovery.java:95)
at org.jboss.weld.util.reflection.HierarchyDiscovery.init(HierarchyDiscovery.java:74)
at org.jboss.weld.util.reflection.HierarchyDiscovery.getTypeClosure(HierarchyDiscovery.java:58)
at org.jboss.weld.resources.SharedObjectCache$4.apply(SharedObjectCache.java:58)
at org.jboss.weld.resources.SharedObjectCache$4.apply(SharedObjectCache.java:55)
at com.google.common.collect.ComputingConcurrentHashMap$ComputingValueReference.compute(ComputingConcurrentHashMap.java:355)
at com.google.common.collect.ComputingConcurrentHashMap$ComputingSegment.compute(ComputingConcurrentHashMap.java:184)
at com.google.common.collect.ComputingConcurrentHashMap$ComputingSegment.getOrCompute(ComputingConcurrentHashMap.java:153)
at com.google.common.collect.ComputingConcurrentHashMap.getOrCompute(ComputingConcurrentHashMap.java:69)
at com.google.common.collect.ComputingConcurrentHashMap$ComputingMapAdapter.get(ComputingConcurrentHashMap.java:393)
... 20 more
有什么线索吗


谢谢

您是否尝试过更改maven工件?
这奇怪地解决了我的问题,而重新安装jboss和重新启动电脑却没有。据我所知,最新的Payara 4.1 173也有同样的问题,不是jboss/WildFly,而是使用了相同的焊接引擎。我可以通过执行以下操作来解决此问题:

在glassfish目录中重新安装Payara的lib和modules目录 确保将mariadb*.sql保留在中,否则JDBC资源将无法工作 清除~/personal_域/osgi缓存/ 这就是收集罐子的地方,也许有类似的地方?如果您使用Payara将例如javax.faces.jar从2.3.2 beta降级到2.2.14捆绑包,并且您没有清除osgi缓存,那么您仍然拥有2.3.2而不是2.2.14,因为它是从osgi缓存加载的。升级这样的罐子效果很好,而不是降级

同样,我知道它不是WildFly/JBoss,但这确实解决了我的问题


我认为这可能是值得的,因为同样的例外让我在这里发疯。我还添加了一个新的日志记录器org.jboss.weld,其日志级别为FINEST,并且看到它成功地解析了注释,但仍然出现了异常。我还试图从所有转换器和验证器中删除公共构造函数,但没有效果。直到我完成了上述步骤,我才能够恢复Payara。

有一些奇怪的行为,比如:1当从另一台工作机器克隆另一个工作jboss的整个jboss zip时,这个错误只在少数机器上出现,但linux版本、发行版、java版本和项目版本都相同,有时我们需要格式化有问题的机器来解决问题,但有时甚至需要格式化,仍然会出现此错误