最近的项目搭建中,出现了一个问题。
短时间内,无法详细说明,打个比方
比如一个项目A,分为a1,a2,a3,a4 等4个模块。各个模块又分为domain+dao, service ,controller+jsp。此外,还有一个共享模块c1用来存放配置文件,一个父模块,用来进行依赖包的管理。
所有公用的配置文件,如applicationContext.xml。servlertname-servlet.xml等放在公关模块c1下。相当于,共有17个模块,模块之间可以互相调用接口。
其中domain+dao采用的spring jpa模式,因为开发比较快捷,如果了解spring jpa的人应该知道,spring jpa会将持久化的一些配置放到META-INF/persistence.xml下。所以,在写dao的时候,还是要在dao的模块下加入META-INF的。
但是,在写service 的时候,任何配置都是不需要的。因为,service只是调用dao的接口,但是问题出现了。虽然在pom.xml中引入了dao的包。而且程序也没有报错。但是执行单元测试的时候,总是出现问题。主要提示就是dao中的domain不是一个entity。也就是说,无法访问到dao中的domain。
最后,解决的情况如下。
1:使用公共资源共享的Maven插件
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-remote-resources-plugin</artifactId> <version>1.4</version> <configuration> <resourceBundles> <resourceBundle>lycy.app.lcp:shared-resources:${project.version}</resourceBundle> </resourceBundles> </configuration> <executions> <execution> <goals> <goal>bundle</goal> </goals> </execution> </executions> </plugin>
2:删除本地仓库中的dao。
3:在core的pom.xml中加入对dao的依赖。注意,选择来自私服上的最新版本。
当然,执行过程中可能还是会出问题。
这时,可以删除dao。然后重新从svn中检出。执行上面的步骤。如果依然不行。则切换一个工作空间试试
相关推荐
在现代Java开发中,Maven、Spring Data JPA和Hibernate是三个非常重要的工具和技术。Maven是项目管理工具,Spring Data JPA提供了对数据库操作的高级抽象,而Hibernate则是Java持久化层的一个流行实现。将它们整合在...
在现代Java Web开发中,"Maven整合Spring+SpringMVC+Hibernate+SpringDataJPA"是一个常见的架构组合,被广泛应用于构建企业级应用程序。这个组合通常被称为"SSM",其中"M"代表Maven,"S"代表Spring,包括Spring核心...
在IT行业中,构建高效、可维护的Web应用是至关重要的,而"Maven+SpringMVC+SpringJPA+Hibernate"的组合就是一个常见的解决方案。这个组合提供了全面的开发工具和技术,帮助开发者快速构建基于Java的Web应用程序。...
总的来说,"Maven构建的JPA+Spring"项目展示了如何利用现代Java开发的最佳实践,将Maven的项目管理能力、Spring的灵活性和JPA的ORM功能结合在一起,构建出高效、可扩展的后端应用。对于初学者,这是一个很好的学习和...
在多模块开发中,Maven项目通常采用父模块(parent)和子模块(child)的结构。例如,`app-parent`这个压缩包很可能就是一个父模块项目,包含了若干个子模块的配置信息。父模块主要用于定义共有的构建配置,如版本...
综上所述,“maven多模块开发”是大型Java项目中常用的一种组织策略,它结合了Maven的强大依赖管理和Spring Data JPA的便捷数据库操作,为开发者提供了高效、有序的开发环境。通过合理规划和配置,可以极大地提高...
声明:该应用仅仅是技术研究:Spring Data JPA的配置和常见api的使用&maven构建项目,其他技术不在此研究 内涵sql和各种Spring Data JPA测试和案例,导入&创建DB,配置好maven便可运行 maven构建项目&问题:...
在现代Java开发中,通常还会引入Maven进行项目构建和依赖管理,以及Spring Data JPA来提高数据访问的便捷性。 首先,让我们详细了解一下SSH整合的关键点: 1. **Spring**:Spring框架提供了全面的面向切面编程...
Java使用Maven导入Spring依赖
本项目基于"Spring Boot+Maven+Spring Data JPA+apache Shiro+Easyui",这些技术栈的选择旨在简化开发过程,提供强大的功能,并确保系统的安全性和用户体验。 1. **Spring Boot**: Spring Boot是Spring框架的简化版...
在"Maven整合Spring+SpringMVC+Hibernate+SpringDataJPA+JdbcTemplate"的DEMO中,开发者通常会创建一个Maven工程,配置相关依赖,然后分别设置Spring的配置文件(如`applicationContext.xml`)、SpringMVC的配置文件...
在分模块开发中,Maven的多模块项目结构(parent-pom)可以帮助我们组织和管理各个子模块,确保它们之间的依赖关系得到正确处理。 **Spring框架** Spring是一个全面的Java应用框架,它提供了包括依赖注入(DI)、...
在Java开发中,Maven作为项目构建工具,而JPA(Java Persistence API)则是用于对象关系映射(ORM)的标准,它们结合使用能够帮助开发者更高效地管理和操作数据库。本文将深入探讨在Maven项目中应用JPA的最佳实践,...
总的来说,这个项目展示了现代Java Web开发中的一种常见架构,它利用Spring的全面功能,Spring MVC的Web处理能力,Hibernate或JPA的ORM优势,以及Maven的构建和依赖管理。通过理解这些技术的相互作用,开发者能够...
在Spring开发中,Maven扮演着至关重要的角色,它帮助开发者管理各种库依赖,使得Spring应用程序的构建变得有序而高效。 首先,我们来理解Spring框架的核心概念——依赖注入(Dependency Injection,简称DI)。...
这是一个本人自己写的maven+spring+mybatis多模块项目,里面已经包含 demo sql语句,generatorConfig.xml Mybatis生成文件,只有安装了插件便可执行生成pojo等,
本文将深入探讨如何利用Maven构建多模块项目,以及在实际操作中需要注意的关键点。 1. Maven多模块项目结构: Maven多模块项目通常遵循一个标准的目录结构,包括一个顶级父 pom.xml(如test-hd-parent),和若干子...
利用maven构建spring boot,使用jpa访问oracle数据,实现rest方式的webservice,实现了简单的例子,浏览器可以直接访问,返回json格式数据,下载之后,可以直接使用,在本地已经测试成功。
在本项目中,Spring Boot作为核心框架,负责应用的运行时环境和各个模块的集成。 JPA(Java Persistence API)是Java平台上的ORM(对象关系映射)标准,它允许开发者用Java对象来操作数据库记录,而无需关心底层SQL...
在本项目中,我们主要探讨如何手动构建一个基于SpringMVC、Spring Data JPA、Hibernate以及FreeMarker模板引擎的Maven工程,同时实现环境切换功能。这个基础框架为日常开发工作提供了必要的支持。 首先,SpringMVC...