[jbosstools-issues] [JBoss JIRA] (JBIDE-19792) antlr packages and lib not exported in Hibernate Tools 4.0.1

Bastian Ulke (JIRA) issues at jboss.org
Tue May 12 08:31:19 EDT 2015


Bastian Ulke created JBIDE-19792:
------------------------------------

             Summary: antlr packages and lib not exported in Hibernate Tools 4.0.1
                 Key: JBIDE-19792
                 URL: https://issues.jboss.org/browse/JBIDE-19792
             Project: Tools (JBoss Tools)
          Issue Type: Bug
          Components: hibernate
    Affects Versions: 4.2.3.Final
         Environment: Eclipse Luna SR2
            Reporter: Bastian Ulke


I am currently working on an Eclipse-Plugin that is built on top of the
Hibernate Tools project. For example, I am using the following statements
to get the AST of a named query:
{code}
try {
 HqlParser parser = HqlParser.getInstance(statementString);
 parser.statement();
} catch (RecognitionException | TokenStreamException e) {
 e.printStackTrace();
}
AST statementAst = parser.getAST();
{code}

For this to work well with Hibernate Tools Version 4.0.0, I added bundle
org.hibernate.eclipse.libs as required bundle to my plug-in configuration
(which resolved to
org.hibernate.eclipse.libs_4.0.0.Final-v20141016-1911-B82 so far).

However, I now updated to Hiberate Tools 4.0.1
(org.hibernate.eclipse.libs_4.0.1.Final-v20150324-2307-B95). The problem I
have now is that the following imports cannot be resolved:
import antlr.RecognitionException;
import antlr.TokenStreamException;
import antlr.collections.AST;

The problem seems to arise from the fact, that in the new version's
MANIFEST.MF, the antlr... packages are not exported and
lib/hibernate/antlr-2.7.6.jar is not listed in the Bundle-ClassPath any
more (I reformatted both MANIFEST.MFs, that you can find attached, to allow
a convenient comparison). After manually adding the antlr-related entries
to the new version's MANIFEST.MF, my code works pretty well again.

I agree, that internal libraries should generally not be exported. However,
org.hibernate.hql.ast.HqlParser is exported -- so why not its prerequesites?

(By the way, I'd be fine with integrating another library into my project. 
However, I tried to manally add antlr-2.7.6.jar as library to
my project, which solved the compilation error, but yields a
java.lang.ClassNotFoundException: antlr.LLkParser cannot be found by
org.hibernate.eclipse.libs_4.0.1.Final-v20150324-2307-B95.)



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


More information about the jbosstools-issues mailing list