我有一個基於Spring MVC的Web應用程序和Hibernate。下面是目錄結構:從基於Spring-Hibernate的Web應用程序創建JAR
- SRC
- COM/myproject的/ abstractmodels/< - 包含域的一些抽象的java文件對象
- COM/myproject的/刀/ personsmodel/< - DAO層,使用Hibernate來獲取數據
- COM/myproject的/刀/ anothermodel/
- COM/myproject的/域/ personsmodel/< - 域名/的BusinessObjects和HBM文件休眠映射
- COM/myproject的/域/ anothermodel/
- COM/myproject的/服務/ personsmodelservice < - 服務層會談到DAO層
- COM/myproject的/服務/ anothermodelservice
- COM/myproject的/控制器/ < - Servlet的使用服務層和用於網絡呈現域對象(JSP文件)
- 的WebRoot
- WEB-INF
- web.xml < - 設置web應用程序和spring框架以使用下面的xmls來配置圖層。
- 配置
- 的services.xml < - 設置的服務層,也就是膠水與其實現方式中,服務接口和噴射DAO豆
- hibernate.xml < - 使用冬眠HBM文件映射並限定DAO豆類
- servlets.xml < - 豆控制器和服務豆注入到它
- views.xml < - jsp文件
- WEB-INF
現在我需要創建一個使用服務,DAO,域和AbstractModels包庫(JAR)。基本上,這個想法是,當給定這個jar文件時,任何一個數據庫都可以創建自己的servlet /用戶界面,或者使用我們的hibernate,service和domain對象來創建Web服務。
我只是由含有目錄的jar文件:
- com/myproject/abstractmodels/
- com/myproject/dao/personsmodel/
- com/myproject/dao/anothermodel/
- com/myproject/domain/personsmodel/
- com/myproject/domain/anothermodel/
- com/myproject/service/personsmodelservice
- com/myproject/service/anothermodelservice
用了servlet和添加它來構建Web應用程序的路徑。該項目編譯,這意味着servlet可以找到服務bean和域對象,但它不會運行。無法創建在services.xml中定義的bean。我檢查了jar文件,並且包結構是正確的並且包含類文件。但是運行時,仍然會出現此錯誤:
Loading XML bean definitions from ServletContext resource [/WEB-INF/config/servlet.xml]
Loading XML bean definitions from ServletContext resource [/WEB-INF/config/services.xml]
Context initialization failed
org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from ServletContext resource [/WEB-INF/config/services.xml]; nested exception is org.springframework.beans.FatalBeanException: Unable to create DWR bean creator for 'com.myproject.abstractmodels.ModelConstants#0'.; nested exception is java.lang.ClassNotFoundException: com.myproject.abstractmodels.ModelConstants
如何使jar文件解決此問題?我是否也需要將WEB-INF目錄放入jar文件中?是否需要特殊的Manifest配置?