Hibernate-core源码中缺少的几个Java类文件

在了解hibernate原理的时候,发现hibernate-core中包是空(如图1:空的antlr包)的,发现导入后会出现某些编译报错的,原因是缺少了几个包,查看包中只有一个简单的html文件,里面写着一句话:

A special package for ANTLR-generated parser classes.

NOTE: The classes in this package are generated from the ANTLR grammar files, do not register them into version control.

大概意思为需要使用ANTLR.jar进行解析*.g的文件,然后拷贝到对应的目录下面

image图1:空的antlr包

http://www.antlr.org/官网上下载antlr2.7.6或者在 \hibernate-distribution-3.5.3-Final\lib\required hibernate的目录中找到,然后拷贝到你的jdk安装目录下的lib文件夹中,如C:盘路径则为C:\Program Files\Java\jdk1.6.0_20\lib(如图2:拷贝antlr),鼠标右键计算机(win7为例)--->属性--->高级系统设置--->高级--->环境变量,在已经设置好的ClASSPATH中加入以下语句 %JAVA_HOME%\lib\antlr.jar,%JAVA_HOME%为你的jdk安装目录如C:\Program Files\Java\jdk1.6.0_20,然后保存,运行cmd,到命令提示符界面,跳到hibernate中project文件夹中的antlr文件夹里面,输入以下命令(如图3:输入命令),则会生成相应的Java文件.

image 图2:拷贝antlr

image 图3:输入命令

对于每个*.g文件,

hql.g(如图4:hql.g生成的文件)会生成这些文件:

image 图4:hql.g生成的文件

hql-sql.g(如图5:hql-sql.g生成的文件)会生成这些文件:(前提必须要先生成hql.g,保留HqlTokenTypes.txt文件)

image 图5:hql-sql.g生成的文件

sql-gen.g(如图6:sql-gen.g生成的文件)会生成这些文件:

image 图6:sql-gen.g生成的文件

order-by.g(如图7:order-by.g生成的文件)会生成这些文件:

image 图7:order-by.g生成的文件

order-by-render.g(如图8:order-by-render.g生成的文件)会生成这些文件:(前提必须保留OrderByTemplateTokenTypes.txt)

image 图8:order-by-render.g生成的文件

posted @ 2010-06-19 02:48  EdwardLau  阅读(1073)  评论(0编辑  收藏  举报