2010-12-08 9 views
4

データベースの内容にアクセスするためにMATLABから呼び出せるインターフェイスを提供しようとしています。私は既にデータベースに接続するためにeclipselinkを使用する既存のJavaインタフェースを持っており、再利用したいと考えています。私はこれを提供するクラスを書いて、私はまっすぐに、Javaからそれを呼び出すときに適切に動作しますが、私はMATLABから呼び出すしようとすると、私は次の例外を取得:私が持っていないときeclipselinkをJavaコードでMATLABから実行する

javax.persistence.PersistenceException: No Perisistence provider for EntityManager named DatabaseConnection 

通常、この例外が発生しますクラスパス上のpersistence.xmlを持つMETA-INFフォルダを正しく作成しましたが、動的で静的なMATLAB javaclasspathsにMETA-INFフォルダを含むベースフォルダを入れてみました。この正確なコード(persistence.xmlを含む)もjavaから実行するとうまく動作します。誰か私が逃していることを知っていますか?

私がJavaコードを実行したときに起きたことから私が追跡できる主な違いの1つは、MATLABがJavaが使用するデフォルトのクラスローダーではなくOSGIクラスローダー(felix)を使用していますが、 persistence.xmlの検索との違い

+1

可能性がありますhttp://stackoverflow.com/questions/4376565/java-jpa-class-for-matlab。 24時間でMatlab/JPA/Eclipse/classpathに関する2つの質問の確率はどのくらいですか?あなたはライリーと一緒に働いていますか? (要約:静的なクラスパスにeclipselinkとユーザーのJARも入れてください) –

+0

私は作業中のコード(以前はbinフォルダを直接指していました)とMETA-INFフォルダトップレベル。私は静的クラスパス(classpath.txt内)の最初のものとして、それが依存している他のいくつかのjarファイル(eclipselinkを含む)とともに置いています。残念ながら私は同じエラーを受けました。 – Sam

答えて

関連する問題