[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
Thu May 28 03:39:03 EDT 2015


    [ https://issues.jboss.org/browse/JBIDE-19792?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13071787#comment-13071787 ] 

Bastian Ulke commented on JBIDE-19792:
--------------------------------------

Hi Koen,

Adding the mentioned plug-in didn't solve the issue as Eclipse keeps telling me, that the required types cannot be used as they are not exported:

{code}
Access restriction: The field 'HqlTokenTypes.AND' is not API (restriction on required library '...\workspaces\jee-luna\.metadata\.plugins\org.eclipse.pde.core\.external_libraries\org.jboss.tools.hibernate3_6_4.0.1.Final-v20150324-2307-B95\lib\required\hibernate3.jar') 
{code}

Any idea?

> 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
>            Assignee: Koen Aers
>         Attachments: B82_MANIFEST.MF, B95_MANIFEST.MF
>
>
> 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