2011-09-28 151 views
1

我正在用Wicket(用jpa)开发一个java web应用程序。在Wicket应用程序中,我可以通过在persistence.xml中配置的Persistence.createEntityManagerFactory()来访问数据库持久性单元。如何从Web应用程序外部连接到数据库?

现在我想要一个助手脚本来执行维护任务。我创建了一个Java文件与static void main方法,但如果我运行这个文件,我得到一个异常:

Exception in thread "main" java.lang.ClassFormatError: Absent Code attribute in method 
that is not native or abstract in class file javax/persistence/Persistence 

在测试文件,它工作正常。

回答

2

您的类路径中没有JPA。

根据您的JPA提供程序,这将至少为javax.persistence-*-.jar加上提供程序特定的JAR,例如, eclipselink-x.y.z.jar或用于Hibernate的一堆JAR。如果您不确定,请查看您的WEB-INF/lib文件夹中的内容。

+0

如果我将所有这些文件所在的文件夹添加到我的CLASSPATH系统变量中,则不起作用。 –

+0

不要惹恼你的系统变量,在调用java时单独列出JAR,例如'java -cp one.jar; two.jar; three.jar mypackage.MyClass'(';'是Windows上的路径分隔符,在Linux上使用':')。您可能希望将该命令行放入批处理/ bash脚本中。如果你仍然有问题,请将你引用的确切命令添加到你的问题中,我会看看。 –

相关问题