ClassNotFoundExceptionを修正:org.hibernate.hql.ast.HqlToken
Fix Classnotfoundexception
2019 Unicorn Enterprise Heavy Gold Recruitment Python Engineer Standard >>>
言うまでもなく、Markに特有のプロジェクト統合エラー。
オンライン資料はたくさんありますが、3つの解決策があります。
1.WEB-INFディレクトリに新しいweblogic-application.xmlファイルを作成します。
次の構成を記述します。
antlr.*
二、weblogic.xmlファイルに構成を挿入します。
true
3、myeclipse6.5の場合:
windows-preferences-myeclipse workbench-servers-weblogic-weblogic10.x-pathをクリックし、[クラスパスの先頭に追加]オプションで、hibernateが使用するパッケージantlr.jarをweblogicクラスパスに追加します。 このようにして、weblogicはmyeclipseを介して正常に起動でき、上記の問題は解決されます。
weblogicに付属のスクリプトを実行する場合: プロジェクト内のantlr.jarをweblogicwlserver_10.3 server libフォルダーにコピーし、domains base_domain binでstartWebLogic.cmdファイルを見つけて、以下を見つけます。 CLASSPATH =%SAVE_CLASSPATH%を設定します 以下に追加: @REM hibernate3 PRE_CLASSPATH =%WL_HOME% server lib antlr.jarを設定します CLASSPATH =%PRE_CLASSPATH %% CLASSPATH%を設定します セーブ。
理由を言う:
新しいANTLRベースのHQL / SQLクエリトランスレータを採用するHibernate3.0では、antlrを使用する必要があります。ただし、このパッケージには、weblogic.jarに以前のバージョンのantrlパッケージがすでに含まれています。互換性がない場合は、クラスの読み込みが生成されます。エラー、ClassNotFoundException:org.hibernate.hql.ast.HqlToken例外。上記の3つの方法は、weblogicに新しいantlパッケージをロードさせるためのものです。
最初の方法は、weblogicにプロジェクト内のantlパッケージをロードさせることです。
2番目の方法は、weblogicに最初にパッケージをロードさせてから、最初にプロジェクト内にパッケージをロードさせることです。
3つ目はもっと面倒で、個人はお勧めできません。意味は同じです。
転載:https://my.oschina.net/u/555639/blog/226933