我想使用Hibernate和Gradle从现有数据库生成POJO。Gradle可以轻松调用Ant任务,Hibernate为逆向工程数据库提供了Ant任务。
我在网上找到了这个旧的Gradle任务定义,并将其修改为最新版本的Gradle,但它不起作用:
ant {
taskdef(name: 'hibernatetool',
classname: 'org.hibernate.tool.ant.HibernateToolTask',
classpath: configurations.compile.asPath )
mkdir( dir: "$buildDir/generated" )
hibernatetool( destdir : "$buildDir/generated" ) {
annotationconfiguration( configurationfile:"$classesDir/hibernate.cfg.xml" )
hbm2ddl( export: false, outputfilename: 'schema.sql' )
classpath {
pathelement( path: classesDir )
}
}
}
我得到了一个错误:
No such property: classesDir for class: org.gradle.api.internal.project.DefaultAntBuilder
我如何修改它以从数据库生成模式文件?(我知道这还不会生成POJO,但这是第一步!)
我的依赖项看起来像:
dependencies {
compile 'org.hibernate:hibernate-tools:4.0.0-CR1'
testCompile group: 'junit', name: 'junit', version: '4.10'
}
我的猜测是,您希望使用主源代码集中的类输出目录:
sourceSets.main.output.classesDir
如果您只使用class esDir
,Gradle将尝试解析AntBuilder
实例上的字段。
我有以下蚂蚁任务: 我正在尝试将其转换为渐变,到目前为止,我有以下任务: 另外,我的sourceset定义如下: 在ant编译中,它工作得很好,但在gradle上,它无法识别源集中声明的任何依赖项。还尝试在我的dependencies{}标记上添加依赖项,但仍然不起作用。到处找都找不到解决方案 提前感谢!
环境: IntelliJ IDEA 2016.3.1构建#IU-163.9166.29,构建于2016年12月9日JRE:1.8.0_112-release-408-b2 x86_64 JVM:OpenJDK 64位服务器虚拟机JetBrains s.r.o Mac OS 10.12.2 我在IntelliJ中安装了Ant支持插件,正在执行一个构建。xml脚本(请参见下面的build.xml内容)
问题内容: 在定义顺序构建步骤时,我使用元素的属性。我最近看到了一个ant文件,其中的构建顺序是由目标内部的元素定义的。为了显示 : 与 两种方法之间是否有真正的区别?是其中之一更可取吗? 问题答案: 与这两种方法的主要区别在于目标是 始终 执行,而在目标只有在包含目标是执行。 一个澄清的例子: 在这里,将始终执行,而只有在定义时才会执行。 在此,仅当is即定义时才执行。
我有一个xml脚本,可以用这个结构构建一个项目。 src src文件和包子目录 建造。xml 在构建了src文件夹之后,在rsrc中创建了一个构建和lib文件夹 src src文件和包子目录 建造 完成所有工作后,build文件夹中会充满。类文件,在其包子目录中。在lib文件夹中保存分发版。罐子有它的位置。现在针对我的问题,我写了一个名为“clean”的目标: 它应该删除构建文件夹、其子文件夹和内
使用HiberNate ant任务从Gradle我能够生成实体类从数据库使用留档在http://docs.jboss.org/tools/latest/en/hibernatetools/html_single/index.html#d0e5102 当我更改和时,HiberNate找不到我的自定义模板。可以肯定的是,我直接从hiberNate jars复制了模板,并在Pojo.ftl.中添加了一个
问题内容: 我正在尝试使用ant在命令行上生成apk。我可以使用ant clean,但是对于ant调试和ant release命令,我得到以下错误。 建立失败 C:\ Android \ sdk \ tools \ ant \ build.xml:649:执行此行时发生以下错误:C:\ Android \ sdk \ tools \ ant \ build.xml:694:执行失败:java.io