整理下maven搭建项目遇到的问题

1、
问题:IDEA运行maven项目,启动后调用功能,mybatis模块在查询数据时发生了异常,查询到是所有的mapper.xml没有编译并拷贝到calsses目录,未进行打包编译。
当前的配置:mapper.xml和mapper接口同名,配置在同一包下,在applicationContext.xml中配置了mapper接口扫描器MapperScannerConfigurer
原因:在IDEA中运行maven项目,对于src.java包下的xml文件默认不会编译到classes中,只会编译拷贝resources目录
解决:
方式一:把dao包的mapper.xml文件全部配置到resources目录,比如,在使用GenerateConfig构建mapper.xml是可以设置targetProject="src/main/resources"属性将xml配置resources中,注意设置好resources的content root,maven工具默认在编译的时候,会将resources文件夹中的资源文件一块打包进classes目录中。
如果已经设置了content root还是没有编译打包,在Module的Dependences中将resources目录以claess的类别添加到依赖中。

方式二:配置pom.xml

<!--这个元素描述了项目相关的所有资源路径列表,例如和项目相关的属性文件,这些资源被包含在最终的打包文件里。-->
<resources>
	 <resource>
		<!-- 资源文件的路径 -->
		<directory>src/main/resources</directory>
		<!-- 需要编译打包的文件类型 -->
		<includes>
		   <include>**/*.properties</include>
		   <include>**/*.xml</include>
		   <include>**/*.tld</include>
		</includes>
		<filtering>false</filtering>
	 </resource>
	 <resource>
		<directory>src/main/java</directory>
		<excludes>
			<!-- 表示除了*.java,全部编译打包 -->
		   <exclude>**/*.java</exclude>
		</excludes>
	 </resource>
  </resources>
上一篇:人工智能可以给教育带来什么改变?


下一篇:8.0 vue cli自定义页面