我想开发以下列方式为“基于数据库的” Java桌面应用程序:问题沟通业务层(JPA)表示层(Netbeans的7.x版)
- 开发数据访问层(使用JPA DAL)(由Netbeans的7.4)生成的POJO
- 开发业务层(BL)(我自己的类,控制器等)
- 开发的表示层(PL):图形用户界面(面板,框架,对话框)
- 使(PL)与(BL)
我公司开发的通信( DAL + BL)在一个Netbeans项目(ProjectDBL.jar)中。
我公司开发的PL在一个单独的NetBeans项目(ProjectGUI)
我进口ProjectDBL.jar到ProjectGUI作为编译的库。
我没有将EclipseLink库添加到ProjectGUI,因为它们已添加到ProjectDBL.jar中。
出于同样的原因,我没有将数据库驱动程序库添加到ProjectGUI中。
我想完全分开我的DAL + BL和我的PL。进一步的数据库修改(例如MySQL-> SQLServer)不应该影响PL中完成的所有操作。
我面临的问题是一种异常引发的,当我想调用在ProjectDBL.jar任何方法:
Exception in thread "main" java.lang.NoClassDefFoundError: javax/persistence/EntityNotFoundException
看来,如果持久性单元不能由外部罐子被实例化...
是否有任何最佳实践要遵循?我需要完全分开我的应用程序的不同组件的开发。因此,将MySQL驱动程序库添加到我的DAL项目和我的GUI项目似乎并不是一种有效的方法... – mathematix
关于什么? –
关于单独开发的多个子项目的图书馆管理。 – mathematix