Xdoclet自动生成Hibernate配置文件出错,内容如下:
Buildfile: D:\MyFiles\Java\workspace\OA_01\build.xml
生成Hibernate配置文件:BUILD FAILED
D:\MyFiles\Java\workspace\OA_01\build.xml:28: Problem: failed to create task or type xdoclet
Cause: The name is undefined.
Action: Check the spelling.
Action: Check that any custom tasks/types have been declared.
Action: Check that any <presetdef>/<macrodef> declarations have taken place.
build.xml文件如下:
<?xml version="1.0" encoding="GBK"?><project name="OA系统构建脚本" 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:/MyFiles/Java/Documents/Jar/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="xdocle" 
 classname="org.xdoclet.ant.XDocletTask"
 classpathref="xdoclet.task.classpath" /> <target name="生成Hibernate配置文件">
<xdoclet>
<fileset dir="${src.dir}/com/oa/model">
<include name="**/*.java" />
</fileset>
<component
classname="org.xdoclet.plugin.hibernate.HibernateMappingPlugin"
version="3.0" 
destdir="${src.dir}" 
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/oa/model">
<include name="**/*.java" />
</fileset>
<component
classname="org.xdoclet.plugin.hibernate.HibernateMappingPlugin"
version="3.0" 
destdir="${src.dir}"
/>
</xdoclet>
</target>
</project>
User类如下:
package com.oa.model;/**
 * @author Administrator
 * @Hibernate.class table="t_user"
 *
 */public class User { /**
 * @Hibernate.id
 *   generator-class="native"
 */
private Integer id;

/**
 * @Hibernate.property
 */
private String userName;

/**
 * @Hibernate.property
 */
private String password; public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}不知道哪里出错了,请各路高手帮忙

解决方案 »

  1.   

    有这个标签的吧,我在网上搜了,也不知道区别在什么地方
    另外在
    <target name="生成Hibernate配置文件">标签里面子标签中有个
        classname="org.xdoclet.plugin.hibernate.HibernateMappingPlugin" 
       应该是classname="org.xdoclet.plugin.hibernate.HibernateConfigPlugin"
    可是这样改完还是报同样的错误,真不知道哪里错了望高手帮帮忙,非常感谢!
      

  2.   

    <?xml version="1.0" encoding="UTF-8"?>
    <project name="OA系统构建脚本" default="生成Hibernate配置文件" basedir="."> <property name="src.dir" value="${basedir}" />
    <property name="xdoclet.home" value="D:/xdoclet" /> <!-- build classpath -->
    <path id="xdoclet.class.path">
    <fileset dir="${xdoclet.home}/lib">
    <include name="**/*.jar" />
    </fileset>
    </path> <taskdef name="xdoclet" classname="org.xdoclet.ant.XDocletTask"
    classpathref="xdoclet.class.path" /> <target name="生成Hibernate配置文件">
    <xdoclet>
    <fileset dir="${src.dir}/">
    <include name="**/*.java" />
    </fileset>
    <component
    classname="org.xdoclet.plugin.hibernate.HibernateConfigPlugin"
    destdir="${src.dir}" version="3.0"
    jdbcurl="jdbc:mysql://127.0.0.1:3306/test?useUnicode=truecharacterEncoding=UTF-8"
    jdbcdriver="com.mysql.jdbc.Driver" jdbcusername="root"
    jdbcpassword="334123261"
    dialect="org.hibernate.dialect.MySQLDialect" showsql="true"/>
    </xdoclet>
    </target>
    <target name="生成Hibernate映射文件">
    <xdoclet>
    <fileset dir="${src.dir}/hfjob/beans">
    <include name="**/*.java" />
    </fileset>
    <component
    classname="org.xdoclet.plugin.hibernate.HibernateMappingPlugin"
    version="3.0" destdir="${src.dir}" />
    </xdoclet>
    </target></project>
      

  3.   

    不知道是哪个name没有定义啊?
    请指教
    在线等...非常感谢
      

  4.   

    你也是在做OA把,我现在也在看他
      我之前也遇到你这种情况
    之后我的built.xml改成
    <?xml version="1.0" encoding="GBK"?>
    <project name="OA【08】系统构建脚本" default="生成Hibernate配置文件" basedir=".">    <property name="src.dir" value="${basedir}/src"/>
    <property name="xdoclet.home" value="E:\OA\information\xdoclet-plugins-dist-1.0.4"/>    <!-- Build classpath -->
        <path id="xdoclet.task.classpath">
           <fileset dir="${xdoclet.home}/lib">
              <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/bjsxt/oa/model">
    <include name="**/*.java"/>
    </fileset>
    <component
    classname="org.xdoclet.plugin.hibernate.HibernateConfigPlugin"
    destdir="${src.dir}"
    version="3.0"
    hbm2ddlauto="update"
    jdbcurl="jdbc:oracle:thin:@127.0.0.1:1521:ora92"
    jdbcdriver="oracle.jdbc.driver.OracleDriver"
    jdbcusername="oa"
    jdbcpassword="bjsxt"
    dialect="org.hibernate.dialect.OracleDialect"
    showsql="true"
    />
    </xdoclet>
    </target>
    <target name="生成hibernate映射文件">
    <xdoclet>
    <fileset dir="${src.dir}/com/bjsxt/oa/model">
    <include name="**/*.java"/>
    </fileset>
    <component
    classname="org.xdoclet.plugin.hibernate.HibernateMappingPlugin"
    version="3.0"
    destdir="${src.dir}"
    />
    </xdoclet>
    </target>
    </project>
      

  5.   

    。。多么明显的错误啊<taskdef name="xdocle" 
    classname="org.xdoclet.ant.XDocletTask" 
    classpathref="xdoclet.task.classpath" /> name="xdoclet" 
      

  6.   

    <property name="webapp.dir" value="${basedir}/src/webapp" /> 是这句错了吗? 你的项目应用根目录应该是 webRoot吧!
    <property name="webapp.dir" value="${basedir}/src/webRoot" /> 
      

  7.   

    <property name="webapp.dir" value="${basedir}/src/webapp" /> 是这句错了吗? 你的项目应用根目录应该是 webRoot吧!
    <property name="webapp.dir" value="${basedir}/src/webRoot" /> 
      

  8.   

    jar包下载错了,换成xdoclet-plugins-dist-1.0.4,我刚刚解决这个问题