我正在尝试提供一个接口,我可以从MATLAB调用它来访问数据库的内容。我已经有一个现有的Java接口使用eclipselink连接到数据库,我想重新使用它。我写了一个类来提供这个,当我直接从Java调用它时它可以正常工作,但是当我尝试从MATLAB调用它时,我得到以下异常:
javax.persistence.PersistenceException: No Perisistence provider for EntityManager named DatabaseConnection
通常当我没有正确地在类路径上使用persistence.xml的META-INF文件夹时会发生此异常,但我尝试在动态和静态MATLAB javaclasspaths上放置包含META-INF文件夹的基本文件夹没有成功。同样,从java运行时,这个确切的代码(包括persistence.xml)工作正常。有谁知道我错过了什么?
我能够跟踪运行java代码时发生的一个主要区别是MATLAB使用的是OSGI类加载器(felix)而不是Java使用的默认类加载器,但我还没弄明白找到persistence.xml会有什么不同。