Version 1

    Um desenvolvedor estava tentando realizar o deploy de uma aplicação e se deparou com a seguinte exception:

     

    Service Module Loader: java.lang.UnsupportedClassVersionError: br/com/startup/s3/servlet/SairServlet : Unsupported major.minor version 51.0
    

     

    Em ambientes Java isso occore quando as classes compiladas utilizando por exemplo  Java 1.7 são executadas utilizando Java 1.6. Cada versão do Java tem um major source version veja abaixo:

     

    Java Version    Major Version
    
    Java 4                    48.0
    Java 5                    49.0
    Java 6                    50.0
    Java 7                    51.0
    
    

     

    Se o projeto for compilado utilizando Java 1.7 ele irá criar arquivos .class com a major version 51.0, e se ele for executado com Java 1.6 ele irá lançar a exception java.lang.unsupportedclassversionerror unsupported major.minor version 51.0.

     

    Entao chegamos a conclusão de que não conseguimos executar classes compiladas por um JDK superior em um JDK inferior.

     

    Para resolver verifique a versão dos JDKs envolvidos utilizando o comando java --version.