kantery
kantery
2009-01-16 09:38
浏览 226
已采纳

hibernate 自动生成 pojo的问题

MiddlGen 来生成 pojo代码,但是报错。classpath 是对的。就是包这个错误
[code="java"]
Caused by:
java.lang.NoClassDefFoundError: net/sf/hibernate/MappingException
at net.sf.hibernate.tool.hbm2java.Hbm2JavaTask.processFile(Hbm2JavaTask.java:145)
at net.sf.hibernate.tool.hbm2java.Hbm2JavaTask.execute(Hbm2JavaTask.java:93)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
at org.apache.tools.ant.Task.perform(Task.java:364)
at org.apache.tools.ant.Target.execute(Target.java:341)
at org.apache.tools.ant.Target.performTasks(Target.java:369)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
at org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423)
at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)

at net.sf.hibernate.tool.hbm2java.Hbm2JavaTask.processFile(Hbm2JavaTask.java:149)
at net.sf.hibernate.tool.hbm2java.Hbm2JavaTask.execute(Hbm2JavaTask.java:93)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
at org.apache.tools.ant.Task.perform(Task.java:364)
at org.apache.tools.ant.Target.execute(Target.java:341)
at org.apache.tools.ant.Target.performTasks(Target.java:369)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
at org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423)
at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)

[/code]

我用的是 hibernate-extensions-2.1.3 它里面的hibernate-tools.jar 里路径下是没有这个 MappingException类,但是这个是人家的官方包啊?为啥么会会有这个问题呢?
[b]问题补充:[/b]
我用的是hibernate3 下面是classpath 的配置:
[quote]





<!-- The middlegen jars -->
<!--fileset dir="${basedir}/.."-->



[u] [b]

[/b][/u]

[u][b]


[/b][/u]

[/quote]

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

10条回答 默认 最新

  • bohemia
    bohemia 2009-01-16 10:09
    已采纳

    H3.没这个的. 用H2

    点赞 评论
  • laitaogood
    laitaogood 2009-01-16 09:43

    你的hibernate是什么版本的啊?
    可能你现在用的版本比较高

    点赞 评论
  • bohemia
    bohemia 2009-01-16 09:44

    用全包 hibernate2.jar

    点赞 评论
  • weixin_42513366
    Candyut 2009-01-16 09:45

    肯定是你的版本不对,人家要求比较高

    你试试下个myeclipse生成pojo
    里面选择hibernate2

    或者你升级到hibernate3吧

    点赞 评论
  • wwwghost
    wwwghost 2009-01-16 09:48

    将Hibernate 3.X的所有包都加进ClassPath里。

    点赞 评论
  • leonelwong
    马勒格彼得 2009-01-16 10:04

    一看就知道缺包,你重新把HIBERNATE相关的包导入一次,然后刷新一下,就没问题了

    点赞 评论
  • laitaogood
    laitaogood 2009-01-16 10:10

    说了你的版本可能比较高的
    用hibernate2的包吧

    点赞 评论
  • weixin_42513366
    Candyut 2009-01-16 10:12

    你两个版本都不对。。。
    都得在同一批版本里的。要么全用Hibernate2,要么全用Hibernate3

    点赞 评论
  • leonelwong
    马勒格彼得 2009-01-16 10:14

    映射就是用的mapping类。
    hibernate-2.1.7c.jar
    这个版本里面可以自动生成POJO,你看看那吧,里面是比较全的
    net/sf/hibernate/MappingException 这个类在hibernate-2.1.7c.jar
    里面

    点赞 评论
  • wwwghost
    wwwghost 2009-01-16 10:18

    [quote]net/sf/hibernate/MappingException[/quote]
    的确,Hibernate 3没有这样的包,也没有这样的类。

    点赞 评论

相关推荐