gradle集成ant的HibernateToolTask

好的工具可以使工作效率成倍提高。通过编写hbm.xml使用HibernateTool来生成java代码和sql脚本,以及配合hibernate的hbm2ddl.auto的配置,在项目初期,给工作带来很大的方便。

gradle可以集成ant的task,通过hbm.xml生成java类的task可以定义成如下:

task "codegen" << {
	ant.taskdef(name:‘hibernatetool‘,
		classname:‘org.hibernate.tool.ant.HibernateToolTask‘,
		classpath:configurations.compile.asPath)
	ant.hibernatetool(destdir:"src/main/java"){
		configuration{
			fileset(dir:"src/main/resources"){
				include(name:‘**/*.hbm.xml‘)
			}
		}
		hbm2java(jdk5:true)
	}
}

生成sql脚本的任务需要配置数据库连接,我使用了hibernate.cfg.xml。直觉告诉我应该可以抛开配置用groovy构建一个configuration,可惜我还不会。

task "schema"(dependsOn:processResources) <<{
	ant.taskdef(name:‘hibernatetool‘,
		classname:‘org.hibernate.tool.ant.HibernateToolTask‘,
		classpath:configurations.compile.asPath)
	ant.hibernatetool(destdir:"$sourceSets.main.output.resourcesDir"){
			annotationconfiguration(configurationfile:"$sourceSets.main.output.resourcesDir\\hibernate.cfg.xml")
			hbm2ddl(drop:"yes",outputfilename: ‘schema.sql‘)
			classpath {
				pathelement( path:"$sourceSets.main.output.resourcesDir")
			}
		}
}

如果使用hsqldb,则只需要引入hsqldb的jar就行了,环境依赖少了,做dao层的单元测试很好用。不过因为程序运行的时候hsqldb的文件会被锁住,运行时就没有办法通过管理工具查看数据了。

task "hsqlMgnt" << {
	"java -classpath ${configurations.compile.asPath} org.hsqldb.util.DatabaseManager -driver org.hsqldb.jdbcDriver -url jdbc:hsqldb:data/data -user sa".execute()
}
时间: 2024-08-05 11:34:41

gradle集成ant的HibernateToolTask的相关文章

Maven、gradle、Ant、Eclipse IDE

Maven.gradle.Ant.Eclipse IDE之间的关系 http://wenku.baidu.com/view/d33208810912a21615792910.html?from=search 觉得应该很多同学有和我一样的疑惑,所以分享下. 1.使用github上的开源项目时是不是经常发现有个叫maven的东西? 2.第一次使用Android studio时是不是要下载一个gradle的玩意? 折腾了一天,想导入下github的客户端源码.当然现在还没成功...各种看不懂的错误.郁

Maven、gradle、Ant、Eclipse IDE,ADT,intellij IDEA

(1)Maven.gradle.Ant.Eclipse IDE之间的关系 觉得应该很多同学有和我一样的疑惑,所以分享下. 1.使用github上的开源项目时是不是经常发现有个叫maven的东西? 2.第一次使用Android studio时是不是要下载一个gradle的玩意? 折腾了一天,想导入下github的客户端源码.当然现在还没成功...各种看不懂的错误.郁闷为什么他们弄这些高端玩意干嘛,我们平时eclipse里面不一样的好好的开发吗. 幸好无意间发现网上这篇回答,豁然开朗. "一般而言.

Java构建工具:如何用Maven,Gradle和Ant+Ivy进行依赖管理

原文来自:https://zeroturnaround.com/rebellabs/java-build-tools-how-dependency-management-works-with-maven-gradle-and-ant-ivy/ 编译的时候可以运行,运行时出问题 在当今java项目自动化构建的场景当中,依赖管理已经成为了项目构建自动化工具中的一个主要部分,但是在过去并总是这样. 回想以前那个很爽的时候,你的项目依赖性管理只需要将jar包导入到lib文件夹中,然后将其加入到你的版本控

使用Gradle与Ant实现可配置不同环境的自动打包

一.搭建jenkins环境和配置gradle环境 ??网上搭建jenkins的教程很多,这里不再赘述,主要说下jenkins中配置gradle环境 ??点击"Manage Jenkins" ????1. 在"Manage Plugins"中搜索并安装gradle插件 ????2. 在"Configure System"中配置指向你电脑中gradle所在路径(这步前当然要下载gradle) ???? 二.新建jenkins项目并设置构建gradle

项目自动构建工具对比(Maven、Gradle、Ant)

Java世界中主要有三大构建工具:Ant.Maven和Gradle.经过几年的发展,Ant几乎销声匿迹.Maven也日薄西山,而Gradle的发展则如日中天. Maven的主要功能主要分为5点,分别是依赖管理系统.多模块构建.一致的项目结构.一致的构建模型和插件机制.我们可以从这五个方面来分析一下Gradle比起Maven的先进之处. 依赖管理系统 Maven为Java世界引入了一个新的依赖管理系统.在Java世界中,可以用groupId.artifactId.version组成的Coordin

idea集成ant的问题

在用ant管理项目的时候,会出现内存泄漏或是溢出等问题: 然后不断调整idea的内存的大小,没生效: 百度查到去更改ant的内存大小,嗯,改的是build.xml文件里的,没生效: 原因个人认为是ant集成在idea中,所以要更改idea关于ant的配置, 嗯,改完就不会报错了: 原文地址:https://www.cnblogs.com/notchangeworld/p/11416526.html

sonar和gradle集成

在build.gradle中添加如下配置 旧插件 apply plugin: 'sonar' sonar { server { url = "http://locahost:9000" } database { url="jdbc:mysql://locahost:3306/sonar?useUnicode=true&characterEncoding=utf8" driverClassName="com.mysql.jdbc.Driver&quo

gradle 集成到myeclipse

新的项目用到gradle,所以学了下,地址:http://dist.springsource.com/release/TOOLS/gradle :help 下,安装好,重启即可,gradle作为maven 的替代品,非常灵活强大,这里标记下

Gradle 1.12 翻译——第十七章. 从 Gradle 中调用 Ant

有关其他已翻译的章节请关注Github上的项目:https://github.com/msdx/gradledoc/tree/1.12,或访问:http://gradledoc.qiniudn.com/1.12/userguide/userguide.html 本文原创,转载请注明出处:http://blog.csdn.net/maosidiaoxian/article/details/41204073 关于我对Gradle的翻译,以Github上的项目及http://gradledoc.qin