java.lang.ClassNotFoundException: antlr.ANTLRException

16,907

You have the wrong antlr in your project.

The one you need is this. I hope it helps :)

<dependency>
    <groupId>antlr</groupId>
    <artifactId>antlr</artifactId>
    <version>2.7.7</version>
</dependency>

I also see that you are using a older version of hibernate. Latest one available is

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>4.3.5.Final</version>
</dependency>

Download latest hibernate jars

Share:
16,907
king jia
Author by

king jia

Updated on August 02, 2022

Comments

  • king jia
    king jia almost 2 years

    I have a method to get first result of a table.

    public T LoadFirstData()
    {
        T object = null;
        try {
            startOperation();
            Query query = session.createQuery("from " + type.getName());
            object = (T) query.list().get(0);
        } 
        catch (HibernateException e) 
        {
            HandleException(e);
        } finally 
        {
            HibernateUtil.Close(session);
        }
        return object;
    }
    

    But, when I run the method, I have the exception

    Exception in thread "main" java.lang.NoClassDefFoundError: antlr/ANTLRException
        at org.hibernate.hql.ast.ASTQueryTranslatorFactory.createQueryTranslator(ASTQueryTranslatorFactory.java:58)
        at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:98)
        at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:80)
        at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:98)
        at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:156)
        at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:135)
        at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1760)
        at DataAccess.WKS.Repositories.WksRepositoryBase.LoadAllData(WksRepositoryBase.java:193)
        at Run.main(Run.java:13)
    Caused by: java.lang.ClassNotFoundException: antlr.ANTLRException
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        ... 9 more
    

    I have searched on the web for the solution, all I found was missing antlr jar. But I have already added the jar into my project.

    list of jars:

    ant-antlr.jar
    antlr-4.2.2.jar
    antlr-runtime-4.2.2.jar
    asm-attrs.jar
    asm.jar
    cglib-2.2.jar
    commons-collections-3.1.jar
    commons-logging-1.0.4.jar
    dom4j-1.6.1.jar
    hibernate-3.1.jar
    hibernate3-client.jar
    hibernate3.jar
    javassist.jar
    jboss-client.jar
    jta.jar
    log4j-1.2.15.jar
    ojdbc14-jdbc4.jar
    ojdbc14.jar
    slf4j-api-1.5.8.jar
    slf4j-log4j12-1.5.8.jar
    

    Can I know what else I have missed?