3

問題は、Eclipse-IDEではEbean関連のメソッドを使用したすべてのテストが正常に機能することですが、jarファイルをコンパイルしてホームページやコマンドプロンプトなどで使用すると、これしか得られません

Jul 10, 2012 4:25:48 PM com.avaje.ebeaninternal.server.util.ClassPathSearch find
Classes
Warnung: No Entities found in ClassPath using ClassPathReader [com.avaje.ebeanin
ternal.server.util.DefaultClassPathReader@6c08bae7] Classpath Searched[[file:/C:
/xampp/htdocs/webp3/jars/DPG.jar]]
Jul 10, 2012 4:25:48 PM com.avaje.ebeaninternal.server.core.BootupClassPathSearc
h search
Information: Classpath search hits in jars[] pkgs[]  searchTime[27]
Jul 10, 2012 4:25:48 PM com.avaje.ebeaninternal.server.lib.sql.DataSourcePool in
itialise
Information: DataSourcePool [mysql] autoCommit[false] transIsolation[READ_COMMIT
TED] min[1] max[25]
Jul 10, 2012 4:25:48 PM com.avaje.ebeaninternal.server.core.DefaultServerFactory
 setDatabasePlatform
Information: DatabasePlatform name:mysql platform:mysql
Jul 10, 2012 4:25:48 PM com.avaje.ebeaninternal.server.subclass.SubClassManager$
1 run
Information: SubClassFactory parent ClassLoader [sun.misc.Launcher$AppClassLoade
r]
Jul 10, 2012 4:25:48 PM com.avaje.ebeaninternal.server.deploy.BeanDescriptorMana
ger logStatus
Information: Entities enhanced[0] subclassed[0]
Exception in thread "main" javax.persistence.PersistenceException: com.dpu.entit
ies.Department is NOT an Entity Bean registered with this server?
        at com.avaje.ebeaninternal.server.core.DefaultServer.createQuery(Default
Server.java:1008)
        at com.avaje.ebeaninternal.server.core.DefaultServer.createQuery(Default
Server.java:965)
        at com.avaje.ebeaninternal.server.core.DefaultServer.find(DefaultServer.
java:1001)
        at com.avaje.ebean.Ebean.find(Ebean.java:1143)
        at com.dpu.data.Datagenerator.generateData(Datagenerator.java:26)
        at com.dpu.main.MainGenerator.main(MainGenerator.java:23)

クラスパスを編集するなど、Googleで多くの「解決策」を試しましたが、ログに関してはすべて問題ないようです。

My JAR-Manifest contains this:
Manifest-Version: 1.0
Main-Class: com.dpu.main.MainGenerator
Class-Path: .

誰かがこのばかげた問題を解決する方法を知っていますか? 今日は全部試したけど面倒くさい

4

5 に答える 5

2

または、user1537597の回答に追加できます

# specify jars to search for entity beans  
ebean.search.jars=myJarFile.jar

プログラムによる構成を使用しない場合は、ebean.properties ファイルに追加します。

于 2013-03-02T17:02:43.160 に答える
0

こっちも一緒。唯一の方法は、jarを抽出し、javaメインクラスを実行することです。ebean.propertiesファイルもプロジェクトのルートに配置する必要があります。

例えば:

jar xf project.jar

cp /my_project_root/ebean.properties project

cd project

java Project
于 2012-07-11T22:39:57.117 に答える
0

jar 内のエンティティを探すために ebean.properties で指定する必要があるという事実に依存しているわけではありません。プロパティファイルからそれを行う方法を探しています。今、私はプログラムによる構成でのみ見つけました。

config.addJar("nameFile.jar")

于 2012-08-03T10:11:33.693 に答える
0

プログラムによる構成を使用し、次のようにすべてのエンティティ クラスを手動で追加することで、これを解決できました。

serverConfig.addClass(Entity.class);

比較したこのアプローチの利点はebean.search.jars=yourJar.jar、jar ファイル名が変更された場合でも機能することです。

于 2013-11-07T12:37:17.937 に答える