3


1

org.hibernate.tool.ant.EnversHibernateToolTask​​を実行しようとしたときにつまずくブロック

http://www.jboss.org/envers/downloads / [Envers]の簡潔なガイドに示されているように、org.hibernate.tool.ant.EnversHibernateToolTask​​を実行しようとしています。 PDFに)。 これが私のantタスクが微調整され、org.hibernate.tool.ant.EnversHibernateToolTask​​とorg.hibernate.tool.ant.HibernateToolTask​​が正常に見つかるようになりました。今それはorg.apache.tools.ant.Taskを見つけることができません、そして、私は私が何かが悪いことをしているという沈没感を持っています。


これまでにカスタムAntタスクを実行したことがないため、本当に単純なものが足りない可能性があります。 助言がありますか? https://www.jboss.org/files/envers/api-new/org/hibernate/tool/以外ではhibernatetoolタスクのクラスパスに何を入れるべきかわかりません。 ant / EnversHibernateToolTask​​.html [基本のjavadoc]

*編集:*さて、この断片に到達しようとするいくつかの特定のQ …​

  1. どのjarが `+ org.apache.tools.ant.Task +`にあるはずで、その理由 アリを見つけることができませんか?

  2. HibernateToolTask​​の使用方法に関する文書はどこにありますか? (私が想定し EnversHibernateToolTask​​は同じように動作するはずです)

更新(2009-06-18):さて、私はついに勇気を出してこれについていくらか進歩しようと試み、いくらか前進しました。 2つのことをすることで、ほとんどうまくいくようにすることができます。

  1. コマンドラインからではなく、 `+ ant schemaexport `を実行します Eclipse内で、「 schemaexport +」ターゲットを実行します。 (Eclipseのantはorg / apache / tools / ant / Taskを見つけることができず、eclipseのAntクラスパスを設定する方法がわかりません(taskdef項目のクラスパスとは異なります。カスタムタスクを実行するときは、クラスパスを使用して独自の普通のクラスを見つけます。 これはめちゃくちゃです…​. grrr …​)

  2. クラスパスに、ちょうど必要なすべてのjarが含まれていることを確認する 私のJREの `+ / lib / ext +`ディレクトリに貼り付けることで付与されます:

    • envers-1.2.0.ga-hibernate-3.3.jar

    • hibernate3.jar

    • hibernate-tools.jar

    • slf4j-log4j12-1.5.6.jar

    • slf4j-api-1.5.6.jar

    • log4j-1.2.15.jar

今、私は新たな問題を抱えています。

_ BUILD FAILED C:\ deka \ proj \ java \ test-database \ build.xml:61:JPAの構成の作成に関する問題。 クラスパスに休止状態のEntityManager jarを追加することを覚えていますか? _

[[]]]

*更新*私も必要だと思われる

  • hibernate-entitymanager.jar

  • hibernate-annotations.jar

そして私はまだクラスローダーのエラーが出ます:

BUILD FAILED
java.lang.NoClassDefFoundError: javax/persistence/PersistenceException
        at java.lang.Class.getDeclaredConstructors0(Native Method)
        at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
        at java.lang.Class.getConstructor0(Class.java:2699)
        at java.lang.Class.newInstance0(Class.java:326)
        at java.lang.Class.newInstance(Class.java:308)
        at org.hibernate.tool.ant.JPAConfigurationTask.createConfiguration(JPACo
nfigurationTask.java:33)
        at org.hibernate.tool.ant.ConfigurationTask.getConfiguration(Configurati
onTask.java:54)

J2EEサーバーを使わずにこれを実行するにはどうすればいいですか?!?!?!?!?! 他にどんなJARファイルが必要ですか? 私は本当に混乱していてイライラしています。

更新(2009-06-23):私は最終的には正常にビルドされました。 あなたが必要とするようです:

* envers-1.2.0.ga-hibernate-3.3.jar
* hibernate3.jar
* hibernate-tools.jar
* slf4j-log4j12-1.5.6.jar
* slf4j-api-1.5.6.jar
* log4j-1.2.15.jar
* dom4j-1.6.1.jar
* hibernate-commons-annotations.ja
* a JAR containing JTA classes (Sun doesn't have a JAR file but you can download the [class files][3] yourself and make a JAR file out of it)
* a JAR containing JPA classes (I used toplink-essentials.jar from the glassfish project, per [this SO question][4])
* commons-logging-1.1.1.jar
* freemarker.jar

と使用するようにしてください


サンプルantタスクに含まれる `++`アイテムの代わりに。 それでもまだ正しく動作しません、私はenversテーブルが含まれていません。 :(

2 Answer


1


EnversHibernateToolTask​​はHibernateToolTask​​を拡張します。 私がする必要があったのは以下のことだけでした:


それ以外の場合は、貼り付けたantファイルの出力を確認すると便利です。


-2


ejb3-persistence-1.0.2.GA.jarが必要な場合があります。