我有一个基于Spring MVC的Web应用程序和Hibernate。以下是目录结构:
现在我需要使用Service,DAO,Domain和AbstractModels包创建一个库(jar)。基本上,我们的想法是,当给出这个jar文件和数据库时,任何人都可以使用我们的hibernate,服务和域对象创建自己的servlet /用户界面或创建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配置?
答案 0 :(得分:0)
不能将jar放入项目的构建路径中。它必须放在WEB-INF / lib文件夹中,Eclipse将
如果将jar放在项目构建路径中,项目将编译,但jar不会成为已部署的webapp的一部分。