xdoclet生成hibernate映射文件的问题

说好不能打脸
Java领域优质创作者
博客专家认证
2009-10-15 12:17:43
刚刚开始看xdoclet,不知道是不是写xml文件的时候出来错。大家看看,我只贴出生成映射文件的那一段。
<property name="xdoclet.lib.dir" value="${basedir}/WebRoot/WEB-INF/lib/xdoclet" />
<property name="project.lib.dir" value="${basedir}/WebRoot/WEB-INF/lib" />
<property name="project.src.dir" value="${basedir}/src" />
<property name="project.resources.dir" value="${basedir}/doc/dbscript" />
<target name="xdoclet">
<taskdef name="hibernatedoclet" classname="org.xdoclet.ant.XDocletTask" classpathref="xdoclet.task.classpath" />
<path id="xdoclet.task.classpath">
<fileset dir="${xdoclet.lib.dir}">
<include name="**/*.jar"/>
</fileset>
<fileset dir="${project.lib.dir}">
<include name="**/*.jar"/>
</fileset>
<pathelement location="${xdoclet.plugin.install.dir}/plugins/xdoclet-plugin-command.jar"/>
</path>
<!-- 生成映射文件的ant配置 -->
<target name="generate-mapping" depends="xdoclet">
<xdoclet>
<fileset dir="${project.src.dir}">
<include name="**/*.java" />
</fileset>
<component classname="org.xdoclet.plugin.hibernate.HibernateMappingPlugin" version="3.0" destdir="${project.src.dir}"/>
</xdoclet>
</target>



执行的效果是:
Buildfile: build.xml

xdoclet:
Warning: Reference xdoclet.task.classpath has not been set at runtime, but was f
ound during
build file parsing, attempting to resolve. Future versions of Ant may support
referencing ids defined in non-executed targets.

BUILD SUCCESSFUL
Total time: 0 seconds

然后什么也没有生成。

各位看看有没有遇到过类似问题,是什么原因引起的呢?
...全文
246 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
说好不能打脸 2009-10-16
  • 打赏
  • 举报
回复
还是看xdoclet的官方文档来得快啊~~~
说好不能打脸 2009-10-16
  • 打赏
  • 举报
回复
问题解决了,配置文件的问题哈,主要是才接触xdoclet,关于xdoclet是怎样完成运行定义的任务的这个原理不是很清楚。现在清楚了哈。谢谢各位。
youbin_ 2009-10-16
  • 打赏
  • 举报
回复
我有个代码生成器是用xdoclet做的,可以去参考下:
http://topic.csdn.net/u/20091010/15/c9a70b81-9566-4610-9724-59d64f895da8.html
说好不能打脸 2009-10-16
  • 打赏
  • 举报
回复
最恼火的是,我故意把生成映射文件的那一段配置写错,NND,都报告运行成功了。太阳~~~
说好不能打脸 2009-10-16
  • 打赏
  • 举报
回复
配置了的,我截一段吧:

/**
* @hibernate.class table="servers"
* @hibernate.mate attribute="class-description" value="记录服务器的配置信息"
* @author sliverFly
* @see xdoclet
*/
public class Servers implements Serializable {
/**
*
*/
private static final long serialVersionUID = 7269795515944922978L;

private String serverName;
private String host;
private String db;
private String username;
private String password;
private Integer port;
private String socket;
private String wrapper;
private String owner;
/**
* @hibernate.id generator-class="assigned"
* @return the serverName
*/
public String getServerName() {
return serverName;
}
/**
* @hibernate.property column="host"
* @return the host
*/
public String getHost() {
return host;
}
qq774097676 2009-10-16
  • 打赏
  • 举报
回复
配置文件应该没有什么问题 我原来也遇到过相同的问题 你在持久化类进行了相应的配置吗?
说好不能打脸 2009-10-16
  • 打赏
  • 举报
回复
各位:根据swandragon指出的问题,我已将位置更换,现在那个警告已经不再报了。但是映射文件还是没有生成。甚至我故意将生成映射文件的那一段写错,ant也报告的是xdoclet运行成功。说明那段配置根本就没有运行。
getemail 2009-10-15
  • 打赏
  • 举报
回复
友情帮顶
swandragon 2009-10-15
  • 打赏
  • 举报
回复
把path和taskdef 位置互换一下,先定义path在定义taskdef
http://www.nabble.com/Target-%22%C3%BBf%22-does-not-exist-in-the-project-%22null%22.-td22181547.html
说好不能打脸 2009-10-15
  • 打赏
  • 举报
回复
谢谢,我觉得是否和ant报出来的警告有关系。
to,scueczhang:
你那个是从网上某个地方抄过来的吧。能否指点一下我可能错误的位置。我看不出来你抄过来的那一段和我自己设置的那一段有什么本质的区别。谢谢
scueczhang 2009-10-15
  • 打赏
  • 举报
回复
<?xml version="1.0" encoding="GBK"?>

<project name="构建脚本" default="生成Hibernate配置文件" basedir=".">



<property name="src.dir" value="${basedir}/src"/>

<property name="build.dir" value="${basedir}/bin"/>

<property name="webapp.dir" value="${basedir}/src/webapp"/>

<property name="xdoclet.home" value="D:/opensources/xdoclet/xdoclet-plugins-1.0.3"/>



<!-- Build classpath -->

<path id="xdoclet.task.classpath">

<fileset dir="${xdoclet.home}/lib">

<include name="**/*.jar"/>

</fileset>

<fileset dir="${xdoclet.home}/plugins">

<include name="**/*.jar"/>

</fileset>

</path>

<taskdef

name="xdoclet"

classname="org.xdoclet.ant.XDocletTask"

classpathref="xdoclet.task.classpath"

/>

<target name="生成Hibernate配置文件">

<xdoclet>

<fileset dir="${src.dir}/com/yzk/oa/model">

<include name="**/*.java"/>

</fileset>

<component

classname="org.xdoclet.plugin.hibernate.HibernateConfigPlugin"

destdir="${src.dir}"

version="3.0"

hbm2ddlauto="update"

jdbcurl="jdbc:mysql://127.0.0.1/oa"

jdbcdriver="com.mysql.jdbc.Driver"

jdbcusername="root"

jdbcpassword="root"

dialect="org.hibernate.dialect.MySQLDialect"

showsql="true"

/>

</xdoclet>

</target>

<target name="生成hibernate映射文件">

<xdoclet>

<fileset dir="${src.dir}/com/yzk/oa/model">

<include name="**/*.java"/>

</fileset>

<component

classname="org.xdoclet.plugin.hibernate.HibernateMappingPlugin"

version="3.0"

destdir="${src.dir}"

/>

</xdoclet>

</target>

</project>

cbdhxka 2009-10-15
  • 打赏
  • 举报
回复
<fileset dir="src" includes="com/xxx/*.java" >
</fileset>
有可能是没有找到java文件,指定包 试试

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧