2011-09-28 157 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腳本中。如果你仍然有問題,請將你引用的確切命令添加到你的問題中,我會看看。 –

相關問題