Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-3068

could fail more gracefully when wrong Java version used

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Obsolete
    • Icon: Minor Minor
    • None
    • 8.0.0.Final
    • Class Loading, Server
    • None
    • Java version < 7

      If I try to start Wildfly with Java 6 (which is no longer support of course) it just fails with a stack:

      09:51:00,536 INFO [org.jboss.modules] (main) JBoss Modules version 1.3.0.Final
      09:51:00,543 WARN [org.jboss.modules] (main) Failed to define class org.jboss.as.jmx.PluggableMBeanServerBuilder in Module "org.jboss.as.jmx:main" from local module loader @36b60b93 (finder: local module finder @69b1fbf4 ()): java.lang.UnsupportedClassVersionError: org/jboss/as/jmx/PluggableMBeanServerBuilder : Unsupported major.minor version 51.0
      at java.lang.ClassLoader.defineClass1(Native Method) [rt.jar:1.6.0_26]
      at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) [rt.jar:1.6.0_26]
      at java.lang.ClassLoader.defineClass(ClassLoader.java:615) [rt.jar:1.6.0_26]
      at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:345) [jboss-modules.jar:1.3.0.Final]
      at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:423) [jboss-modules.jar:1.3.0.Final]
      at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:261) [jboss-modules.jar:1.3.0.Final]
      at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:76) [jboss-modules.jar:1.3.0.Final]
      at org.jboss.modules.Module.loadModuleClass(Module.java:548) [jboss-modules.jar:1.3.0.Final]
      at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:189) [jboss-modules.jar:1.3.0.Final]
      at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:443) [jboss-modules.jar:1.3.0.Final]
      at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:431) [jboss-modules.jar:1.3.0.Final]
      at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:373) [jboss-modules.jar:1.3.0.Final]
      at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:118) [jboss-modules.jar:1.3.0.Final]
      at javax.management.MBeanServerFactory.loadBuilderClass(MBeanServerFactory.java:423) [rt.jar:1.6.0_26]
      at javax.management.MBeanServerFactory.checkMBeanServerBuilder(MBeanServerFactory.java:465) [rt.jar:1.6.0_26]
      at javax.management.MBeanServerFactory.getNewMBeanServerBuilder(MBeanServerFactory.java:511) [rt.jar:1.6.0_26]
      at javax.management.MBeanServerFactory.newMBeanServer(MBeanServerFactory.java:298) [rt.jar:1.6.0_26]
      at javax.management.MBeanServerFactory.createMBeanServer(MBeanServerFactory.java:213) [rt.jar:1.6.0_26]
      at javax.management.MBeanServerFactory.createMBeanServer(MBeanServerFactory.java:174) [rt.jar:1.6.0_26]
      at sun.management.ManagementFactory.createPlatformMBeanServer(ManagementFactory.java:302) [rt.jar:1.6.0_26]
      at java.lang.management.ManagementFactory.getPlatformMBeanServer(ManagementFactory.java:504) [rt.jar:1.6.0_26]
      at org.jboss.modules.Main.main(Main.java:449) [jboss-modules.jar:1.3.0.Final]

      Exception in thread "main" java.lang.UnsupportedClassVersionError: org/jboss/as/jmx/PluggableMBeanServerBuilder : Unsupported major.minor version 51.0
      at java.lang.ClassLoader.defineClass1(Native Method)
      at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
      at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
      at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:345)
      at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:423)
      at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:261)
      at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:76)
      at org.jboss.modules.Module.loadModuleClass(Module.java:548)
      at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:189)
      at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:443)
      at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:431)
      at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:373)
      at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:118)
      at javax.management.MBeanServerFactory.loadBuilderClass(MBeanServerFactory.java:423)
      at javax.management.MBeanServerFactory.checkMBeanServerBuilder(MBeanServerFactory.java:465)
      at javax.management.MBeanServerFactory.getNewMBeanServerBuilder(MBeanServerFactory.java:511)
      at javax.management.MBeanServerFactory.newMBeanServer(MBeanServerFactory.java:298)
      at javax.management.MBeanServerFactory.createMBeanServer(MBeanServerFactory.java:213)
      at javax.management.MBeanServerFactory.createMBeanServer(MBeanServerFactory.java:174)
      at sun.management.ManagementFactory.createPlatformMBeanServer(ManagementFactory.java:302)
      at java.lang.management.ManagementFactory.getPlatformMBeanServer(ManagementFactory.java:504)
      at org.jboss.modules.Main.main(Main.java:449)

      It would be more friendly if it checked the Java version in the main() function and stopped gracefully. The stack trace is not hard to understand but may not be obvious to everybody.

              kathermanova Katarína Hermanová
              dpocock_jira dpocock (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: