Rei*_*lly 7 java matlab jpa classpath
我在Windows XP Pro SP3上使用MATLAB R2007b,Java 1.6 SE,Eclipse Helios和MySql 5.
我正在尝试创建一个使用JPA注释来访问MySql 5数据库的类库.我们的想法是MATLAB脚本实例化这些Java对象,这些对象提供用于访问数据库的API.
我可以创建我的注释类,它们在Eclipse中工作(即JUnit测试).我可以将代码导出到jar,我可以从命令提示符运行.
我使用javaaddpath()更新MATLAB Java类路径.我可以在MATLAB中实例化我的类.但是,当我调用我的init(),它调用javax.persistence.Persistence.createEntityManagerFactory()时,我得到了可怕的
"没有EntityManager的持久性提供程序"
此错误通常意味着persistence.xml文件不在正确的位置.但它必须是因为我的jar从命令行工作.将META-INF文件夹添加到MATLAB java类路径中没有帮助.无论是否添加了META-INF,也不会提取jar并将提取的文件夹结构添加到类路径中.
有没有人有任何想法,坚果与否?有没有人在任何版本的MATLAB中做过这个.
谢谢.
-reilly.
好吧,我找到了"答案".在我看到关于MATLAB的"动态"和"静态"cp的差异的帖子之前的某个地方."static"cp是在启动时加载的文本文件."动态"cp在运行时加载,您通常使用m脚本调用来操作它.这就是我想要做的.
所以我将我的罐子添加到动态路径中并且它不起作用.
我将它们添加到静态路径的末尾并获得了不同的错误,这似乎与XML解析有关.进展!
然后我将我的罐子添加到静态路径的BEGINNING中并且它可以工作.
引用巴特辛普森:Craptackular.
谢谢你的所有想法.问我一个C#问题所以我可以回报......
-reilly.
在MATLAB中使用Java时,我经常遇到动态类路径的问题.作为一种解决方法,使用classpath.txt
已解决了迄今为止的任何问题.
处理不同的环境(例如测试和生产)会在classpath.txt
MATLAB启动目录中生成多个文件.使用不同的MATLAB版本增加了classpath.txt
周围文件数量的另一个乘数.
ClassPathHacker.java是一个将动态类和jar文件添加到静态类路径的选项.使用这种方法不再需要触摸classpath.txt
.您的Java类路径配置可以保留在预期的位置startup.m
.
您是否绝对确定在调用中正确拼写了持久性单元的名称:
javax.persistence.Persistence.createEntityManagerFactory(String puName)
Run Code Online (Sandbox Code Playgroud)
这也会给你同样的错误。该名称区分大小写。
归档时间: |
|
查看次数: |
3350 次 |
最近记录: |