工程代码不编译src的java目录下的xml文件问题及解决
IDEA的maven项目中,默认源代码目录下(src/main/java目录)的xml等资源文件并不会在编译的时候一块打包进classes文件夹,而是直接舍弃掉。如果使用的是Eclipse,Eclipse的src目录下的xml等资源文件在编译的时候会自动打包进输出到classes文件夹。
示例:
当在IDEA中使用MyBatis时,一般会创建一个SQL映射的配置文件,这个文件如果是在src/main/java目录下,编译后在target目录下是找不到这个文件的
对于IDEA的这个问题,有如下的解决办法:
第一种方法:如果没有特殊业务,不需要指定资源文件定位到src/main/java下,则可以在src下创建main/resources目录,并将所需要的xml资源文件放置其中即可。maven工具默认在编译的时候,会将resources文件夹中的资源文件一块打包进classes目录中。
对于MyBatis的这种使用方式,我们必须在配置文件中指定mapper.xml文件的位置,例如在springboot项目中,在application.properties中增加:
mybatis.mapper-locations=classpath:mapper/*.xml
如果是普通的ssm项目,则这样配置:
<bean id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="druidDataSource"/>
    <property name="configLocation" value="classpath:mybatis-config.xml"/>
    <!-- 配置mapper文件的位置 -->
    <property name="mapperLocations" value="classpath:mapper/*.xml"/>
</bean>
第二种方法:配置maven的pom文件配置,在pom文件中找到<build>节点,添加下列代码:
<build>
  <resources>
    <!-- mapper.xml文件在java目录下 -->
    <resource>
      <directory>src/main/java</directory>
        <includes>
          <include>**/*.xml</include>
        </includes>
    </resource>
    <!-- mapper.xml文件在resources目录下-->
    <--<resource>
        <directory>src/main/resources</directory>
    </resource>-->
  </resources>
</build>
工程代码不编译src的java目录下的xml文件问题及解决的更多相关文章
- IDEA中不编译src/main/java目录下的*.xml文件
		
使用idea构建maven项目时不编译src/main/java目录下写的mapper.xml文件,这是找到pom.xml文件,在<build>节点下添加如下代码: <!-- map ...
 - 使用idea搭建maven项目时 java目录下的xml文件没有加载的解决方法
		
今天在idea集成开发环境下 使用maven搭建了ssm项目,遇到了3个问题 首先我们先复习一下知识点: 第一步:在web.xml中配置spring监听器 <!-- spring监听器 加载sp ...
 - 转载 Silverlight实用窍门系列:1.Silverlight读取外部XML加载配置---(使用WebClient读取XAP包同目录下的XML文件))
		
转载:程兴亮文章,地址;http://www.cnblogs.com/chengxingliang/archive/2011/02/07/1949579.html 使用WebClient读取XAP包同 ...
 - Silverlight实用窍门系列:1.Silverlight读取外部XML加载配置---(使用WebClient读取XAP包同目录下的XML文件))【附带实例源码】
		
使用WebClient读取XAP包同目录下的XML文件 我们想要读取XAP包下面的XML文件,需要将此XML文件放在加载XAP包的网页的目录中去,然后使用URI方式读取此URL方式下的XML文件. 首 ...
 - maven项目无法读取src/main/java目录下的配置文件解决方法
		
我们在用Mybatis去操作底层数据库的时候,需要用到xml配置文件,一般我们是把配置文件和dao放置在同一层目录.但是在用idea操作maven项目的时候,我们可能会遇到无法读取到dao对应的map ...
 - 解决eclipse maven工程中src/main/resources目录下创建的文件夹所显示样式不是文件夹,而是"包"图标样式的问题
		
参考:http://blog.csdn.net/luwei42768/article/details/72268246 eclipse项目中创建maven项目后,有时在执行命令maven update ...
 - src/main/Java路径下的properties文件丢失
		
在pom中加入代码: <build> <resources> <resource> <directory>src/main/java</direc ...
 - 搜索某个目录下所有jar包中的mapper目录下的xml文件
		
rm -rf /mapper/* find /data/app/app-*/lib ! -path "*xnpush*" ! -path "*portal*" ...
 - 解决idea中maven项目无法读取src/main/java目录下面的配置文件问题
		
解决idea中maven项目无法读取src/main/java目录下面的配置文件问题 当我们在maven项目中使用Mybatis的时候,需要给Mybatis配置核心xml文件(MyBatis-Conf ...
 
随机推荐
- LODOP打印表格错位的几种情况
			
在网页设计中,表格经常用到百分比,表格在浏览器中展示,这个百分比是相对于浏览器的.还有div,各种浮动之类的相对位置,也有的用到百分比.而在LODOP打印中,百分比是相对于纸张的.LODOP中打印项的 ...
 - LODOP判断没成功发送任务-重打一下
			
一般情况下打印执行了PRINT()或PRINTA(),就会加入打印机队列,如果打印机脱机,就会在队列里排队,当打印机连上并取消脱机的时候,正在排队的任务就会打出,所以一般建议用是否加入队列来判断打印成 ...
 - 【Leetcode_easy】1037. Valid Boomerang
			
problem 1037. Valid Boomerang 参考 1. Leetcode_easy_1037. Valid Boomerang; 完
 - DevOps - DevOps精要 - 歧途
			
前言 如果在实施DevOps的过程中,周围没有一个人支持你,也没有得到领导和团队成员的理解: 如果在采用DevOps的工具和方法之后,难以获得明显的效率提升,甚至得到了不少的消极反馈: 那就需要反省一 ...
 - iOS 多线程的简单理解(1) 方式 :同步 异步
			
最近遇到特别糟糕的面试,过程中提到多次对多线程的处理问题,并没有很好的给予答复和解决,所以在这里做个简单的备案: 期望能更加了解和熟练使用 多线程技术: 下面都是自己的总结,如果存在不对的,或者不足, ...
 - 【GStreamer开发】GStreamer基础教程15——继承Clutter
			
目标 Clutter是一个开源的库,用来创建快速.可移植和动态的GUI.GStreamer可以通过cluttersink这个element把clutter集成进来,允许视频像纹理一样使用.本教程会展示 ...
 - js 验证手机号
			
<script> var reg = /^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\d{8}$/; function ver ...
 - java查询图片显示无图片显示项目默认图片
			
/** * 读取图片 * @param request * @param record * @return */ @RequestMapping(params ="method=queryW ...
 - 【leetcode算法-简单】7.整数反转
			
[题目描述] 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转. 示例 1: 输入: 123输出: 321 示例 2: 输入: -123输出: -321 示例 3: 输入: 12 ...
 - 因修改/etc/sudoers权限导致sudo和su不能使用的解决方法(转)
			
转自: 因修改/etc/sudoers权限导致sudo和su不能使用的解决方法 系统环境:ubuntu 12.04 状况: 因为修改了/etc/sudoers以及相关权限,导致sudo无法使用,恰 ...