zoukankan      html  css  js  c++  java
  • 搭建mybatis时的小问题

    1、源文件中的xml文件经过编译后没有打包到classes中去,在源文件包中写的mapper文件运行时找不到。

      解决办法:

      pom文件build下添加编译时加入xml和resource文件下的所有文件。

      

    <resources>
                <resource>
                    <directory>src/main/java</directory>
                    <includes>
                        <include>**/*.xml</include>
                    </includes>
                </resource>
                <resource>
                    <directory>src/main/resources</directory>
                    <includes>
                        <include>**/*</include>
                    </includes>
                </resource>
            </resources>

    2、Spring整合mybatis时,关于配置文件的路径,classpath与classpath*的问题:

    classpath:

    maven在编译打包时,会将src/main/java下的类打包至至target/classes,src/main/resources的文件复制(一般是资源文件,例如Spring的配置文件)到target/classes,src/test/java至target/test-classes,复制src/test/resources的文件至target/test-classes;这里也说明,上面第一个问题中,我们为什么要在pom文件中加入那几行了。不然运行时在classpath下找不到mapper文件啊T_T

    maven项目的classpath在  target/classes/ , maven项目一般资源文件放在maven工程的 src/main/resources 资源文件夹下,源码文件放在 src/main/java/下, 那么java文件夹和resources文件夹在运行时就是classpath的真实位置( target/classes/ ), 所以 java和resources目录下的文件都可以当成在classpath路径下。运行过程中可以通过以下代码来获得当前类的classpath路径:

    类名.class.getClassLoader().getResource("").getPath();

    classpath*:

    classpath*,不仅仅包括在本项目的target/classes目录,还包括所有本项目引入的ja包里面的classes目录。

  • 相关阅读:
    ES6学习笔记(11)----Proxy
    ES6学习笔记(10)----Set和Map数据结构
    ES6学习笔记(9)----Symbol
    ES6学习笔记(8)----对象的扩展
    ES6学习笔记(6)----函数的扩展
    ES6学习笔记(5)----数值的扩展
    struts2学习之基础笔记1
    前端面试---常见的web安全及防护原理
    前端面试整理笔记一
    id选择器
  • 原文地址:https://www.cnblogs.com/gonjan-blog/p/7890259.html
Copyright © 2011-2022 走看看