【问题标题】:JBoss AS 7 throwing 'java.lang.reflect.MalformedParameterizedTypeException' during startJBoss AS 7 在启动期间抛出“java.lang.reflect.MalformedParameterizedTypeException”
【发布时间】:2014-04-23 00:09:32
【问题描述】:

我正在使用带有 Ubuntu 13.10 64 位和 open-jdk 7 的 JBoss 7.1.3(从源代码构建)。所有应用程序都运行良好。也适用于使用 Windows 和其他 Linux 的其他开发人员(使用来自 Oracle 和 OpenJDK 的 java 7)。

现在我正在尝试在另一台机器上启动应用程序(Redhat 6 - 64 位和 open-jdk 7 的虚拟机) 使用来自其他机器的完全相同的 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

有什么线索吗?

谢谢

【问题讨论】:

  • 有一些奇怪的行为,例如:1)这个错误只发生在少数机器上(但具有相同的linux版本,发行版,java版本和相同的项目版本)2)克隆整个jboss时( zip)从另一个工作的 jboss(来自另一个工作的机器),仍然得到这个错误 3)有时我们需要格式化“有问题的”机器来解决问题(但有时甚至格式化,仍然得到这个错误)

标签: java jakarta-ee jboss jboss7.x jboss-weld


【解决方案1】:

您是否尝试过更改您的 maven artifactId ? 这奇怪地解决了我的问题(而重新安装 jboss 并重新启动 PC 没有)。

【讨论】:

    【解决方案2】:

    与最新的 Payara 4.1 173 有同样的问题(我知道,不是 JBoss/WildFly,但它使用相同的 WELD 引擎)。我可以通过执行以下操作来解决此问题:

    • 重新安装Payara的libmodules目录(在glassfish目录内)
    • 确保保留mariadb*.sql,否则 JDBC 资源将无法工作
    • 清除~/personal_domain/osgi-cache/

    这是收集 JAR 的地方,也许有类似的地方?如果您降级,例如javax.faces.jar 从 2.3.2(测试版)到 2.2.14(与 Payara 捆绑)并且您不清除 osgi-cache,您仍然拥有 2.3.2 而不是 2.2.14,因为它是从 @987654327 加载的@。升级此类 JAR 可以正常工作,而不是降级。

    再一次,我知道这不是 WildFly/JBoss,但这确实解决了我的问题。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-27
      • 2014-07-16
      • 1970-01-01
      • 2015-09-11
      • 1970-01-01
      相关资源
      最近更新 更多