gpt4 book ai didi

hibernate - 为什么在我的 build.xml 中尝试运行 hibernate 工具时出现错误 "Only antlib URIs can be located from the URI alone,not the URI"

转载 作者:行者123 更新时间:2023-12-01 13:08:50 27 4
gpt4 key购买 nike

我正在尝试在 ant 构建中运行 hibernate 工具以从我的 JPA 注释生成 ddl。 Ant 死于 taskdef 标签。我试过使用 ant 1.7、1.6.5 和 1.6 都无济于事。我在 eclipse 和外面都试过。我试过在 hibernate-tools 路径中包含所有 hbn jar ,但没有。请注意,我的构建文件基于这篇文章:

Hibernate JPA to DDL command line tools

我在 Ubuntu 8 上运行带有 WTP 3.0.1 和 MyEclipse 7.1 的 eclipse 3.4。

构建.xml:

<project name="generateddl" default="generate-ddl">

<path id="hibernate-tools">
<pathelement location="../libraries/hibernate-tools/hibernate-tools.jar" />
<pathelement location="../libraries/hibernate-tools/bsh-2.0b1.jar" />
<pathelement location="../libraries/hibernate-tools/freemarker.jar" />
<pathelement location="../libraries/jtds/jtds-1.2.2.jar" />
<pathelement location="../libraries/hibernate-tools/jtidy-r8-20060801.jar" />

</path>

<taskdef classname="org.hibernate.tool.ant.HibernateToolTask" classpathref="hibernate-tools"/>

<target name="generate-ddl" description="Export schema to DDL file">
<!-- compile model classes before running hibernatetool -->

<!-- task definition; project.class.path contains all necessary libs
<taskdef name="hibernatetool" classname="org.hibernate.tool.ant.HibernateToolTask" classpathref="project.class.path" />
-->

<hibernatetool destdir="sql">

<!-- check that directory exists -->
<jpaconfiguration persistenceunit="default" />

<classpath>

<dirset dir="WebRoot/WEB-INF/classes">
<include name="**/*"/>
</dirset>
</classpath>

<hbm2ddl outputfilename="schemaexport.sql" format="true" export="false" drop="true" />
</hibernatetool>
</target>

Error message (ant -v):

Apache Ant version 1.7.0 compiled on December 13 2006
Buildfile: /home/joe/workspace/bento/ant-generate-ddl.xml
parsing buildfile /home/joe/workspace/bento/ant-generate-ddl.xml with URI = file:/home/joe/workspace/bento/ant-generate-ddl.xml
Project base dir set to: /home/joe/workspace/bento
[antlib:org.apache.tools.ant] Could not load definitions from resource org/apache/tools/ant/antlib.xml. It could not be found.

BUILD FAILED
/home/joe/workspace/bento/ant-generate-ddl.xml:12: Only antlib URIs can be located from the URI alone,not the URI
at org.apache.tools.ant.taskdefs.Definer.execute(Definer.java:216)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:357)
at org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:140)
at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.parseBuildFile(InternalAntRunner.java:191)
at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:400)
at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)

Total time: 195 milliseconds

最佳答案

根据typedef task documentation (其中 taskdef task 是一种形式)如果您没有指定“文件或资源类型属性”,则需要 name 属性。

我不确定解决这个问题是否能解决您的问题,但如果您能将其从潜在原因中排除就更好了。

关于hibernate - 为什么在我的 build.xml 中尝试运行 hibernate 工具时出现错误 "Only antlib URIs can be located from the URI alone,not the URI",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/752851/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com