如何参与Hibernate-ORM项目
1.注册 hibernate jira账户,hibernate中的issue和bug都会在此论坛发布
注册地址:https://hibernate.onjira.com
2.创建Hibernate-ORM分支,前提必须要注册一个github账户。
基于hibernate-orm在github上的官方主版本,创建一个fork到自己repo中。
3.安装 git客户端
推荐git-preview和tortoisegit配合使用。
git-preview的下载地址:http://msysgit.github.io/
tortoisegit的下载地址:https://download.tortoisegit.org/tgit/
详细安装配置教程见:http://blog.csdn.net/xiaobin_hlj80/article/details/10953701
4.利用git客户端,从自己的github代码仓库中把代码取到本地,命令如下
git clone https://github.com/zhulongchao/hibernate-orm.git
5.编译hibernate-orm
hibernate-orm的默认编译工具是gradlew,该工具和maven类似。
进入hibernate-orm目录下,gradlew clean build命令,进行初始化编译。
如果遇到如下问题:
(1): core\src\main\org\hibernate\annotations\SQLDelete.java:37:错误:编码GBK的不可映射字符
需要进控制面板,修改区域语言里面-管理-更改系统区域设置为英语(英国)
(2) java.lang.OutOfMemoryError: Java heap space
修改gradlew.bat文件,调整堆最大的分配内存大小。如果是32位的jdk,需调整到64位jdk(最新依赖的jdk是1.8)
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS="-Xmx3072m"
6.转为eclipse工程
执行命令:gradlew eclipse,生成project和classpath文件
7.导入hibernate-orm到eclipse中
注意:如果hibernate-orm目录下有project文件,需要删除后,再导入。
8.导入后如下,项目出现很多错误
错误1:A cycle was detected in the build path of project 'hibernate-c3p0'.The cycle consists of projects {hibernate-testing, hibernate-core, hibernate-c3p0, hibernate-ehcache, hibernate-enhance-maven-plugin, hibernate-entitymanager, hibernate-envers, hibernate-gradle-plugin, hibernate-hikaricp, hibernate-infinispan, hibernate-jpamodelgen, hibernate-osgi, hibernate-proxool}hibernate-c3p0 Build pathBuild Path Problem。
解决办法:Window -> Preferences-> Java -> Compiler -> Building -> Building path problems -> Circular dependencies -> 将Error改成Warning。
错误2:是某些依赖类,没有加入到build path
解决办法:把依赖类所在的class文件夹,加入到build path
错误3:某些动态生成的java文件,所在目录有误,比如target目录,
解决办法:把该目录不作为source code目录
9.提交和更新
提交针对jira上的修改时,commit的message内容必须要为jira上的issue key。
在提交之前,最好获取一下hibernate-orm官方git中的最新代码,获取的方式以rebase,而不是merge,merge容易打乱分支图。
提交代码,命令如下 git push zhulongchao HHH-123,一旦提交后,hibernate-orm官方的维护人员会看到你提交的代码,决定是不是要把你的提交拉倒主版本里面。
总结:经过以上配置后,尽情happy吧。
最新文章
- CentOS安装Redis详细教程
- php数组排序函数
- CSS中.和#区别
- boost::pool与内存池技术
- VUE2.0+VUE-Router做一个图片上传预览的组件
- CentOS7.x搭建时间同步服务器
- CodeForces Round #554 Div.2
- 关于信息系统设计与开发——案例:VIP系统
- MySQL报错解决方案:2013-Lost connection
- Python知乎热门话题数据的爬取实战
- NOIP2009(codevs1173)最优贸易
- Solidity的三种转账方式与比较
- linux c/c++ 删除文件
- 编写自己的代码库(javascript常用实例的实现与封装)[转]
- XE6 HTML设计器
- 强大的vi的几个功能
- EBS报错FRM-92095:Oracle JInitiator版本太旧,请安装版本1.1.8.2或更高版本
- dataTable 从服务器获取数据源的两种表现形式
- vue-2.4.0-添加的新东东
- mysql 控制台环境下查询中文数据乱码,插入、更新中文数据不成功
热门文章
- Github 修正上传时“this exceeds GitHub’s file size limit of 100 MB”错误
- NSBundle、UIImageView和UIButton对比、Xcode文档安装路径、Xcode模拟器安装路径
- jsp页面中EL表达式不能被解析
- ECOS 系统查找商品详情图片存入mysql情况。
- ajax的项目实操(只用于记录部分文件未引入)
- 项目管理实践【六】自动同步数据库【Using Visual Studio with Source Control System to synchronize database automatically】
- android log 学习
- linux下修改MAC地址方法
- 外部VBS的调用
- DefaultHttpClient is deprecated 【Api 弃用]】