`
wangyanlong0107
  • 浏览: 499879 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

maven 打包时mapper.xml打不进去问题

 
阅读更多

首先,来看下MAVENx项目标准的目录结构:

<iframe id="iframe_0.6057847872536948" style="margin: 0px; padding: 0px; border-width: initial; border-style: none; width: 730px; height: 343px;" src="data:text/html;charset=utf8,%3Cstyle%3Ebody%7Bmargin:0;padding:0%7D%3C/style%3E%3Cimg%20id=%22img%22%20src=%22http://dl2.iteye.com/upload/attachment/0096/8848/d6ee84fd-c812-31a9-b309-f40941ac558c.jpg?_=5340683%22%20style=%22border:none;max-width:1576px%22%3E%3Cscript%3Ewindow.onload%20=%20function%20()%20%7Bvar%20img%20=%20document.getElementById('img');%20window.parent.postMessage(%7BiframeId:'iframe_0.6057847872536948',width:img.width,height:img.height%7D,%20'http://www.cnblogs.com');%7D%3C/script%3E" frameborder="0" scrolling="no"></iframe>

一般情况下,我们用到的资源文件(各种xml,properites,xsd文件等)都放在src/main/resources下面,利用maven打包时,maven能把这些资源文件打包到相应的jar或者war里

 

有时候,比如mybatis的mapper.xml文件,我们习惯把它和Mapper.java放一起,都在src/main/java下面,这样利用maven打包时,就需要修改pom.xml文件,来把mapper.xml文件一起打包进jar或者war里了,否则,这些文件不会被打包的。(maven认为src/main/java只是java的源代码路径)。网络上有很多方法,我大概试了下,几种方法都可以,可以任选一种即可。

 

方法1,其中**/*这样的写法,是为了保证各级子目录下的资源文件被打包。

xml代码

复制代码
<build>
    <finalName>test</finalName>
    <!--
    这样也可以把所有的xml文件,打包到相应位置。
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <includes>
                <include>**/*.properties</include>
                <include>**/*.xml</include>
                <include>**/*.tld</include>
            </includes>
            <filtering>false</filtering><--这里是false,用true会报 数据库连接 错误-->
        </resource>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.properties</include>
                <include>**/*.xml</include>
                <include>**/*.tld</include>
            </includes>
            <filtering>false</filtering>
        </resource>
    </resources>
</build>
复制代码

方法2,利用build-helper-maven-plugin插件

复制代码
<build>
    ...
    </plugins>
        ...
        <!--
        此plugin可以用
        利用此plugin,把源代码中的xml文件,
        打包到相应位置,这里主要是为了打包Mybatis的mapper.xml文件 
        -->
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <version>1.8</version>
            <executions>
                <execution>
                    <id>add-resource</id>
                    <phase>generate-resources</phase>
                    <goals>
                        <goal>add-resource</goal>
                    </goals>
                    <configuration>
                        <resources>
                            <resource>
                                <directory>src/main/java</directory>
                                <includes>
                                    <include>**/*.xml</include>
                                </includes>
                            </resource>
                        </resources>
                    </configuration>
                </execution>
            </executions>
        </plugin>   
        ...
    </plugins>     
    ...
</build>
复制代码

方法3,利用maven-resources-plugin插件

复制代码
<build>
    ...
    </plugins>
        ...
        <!--
        此plugin可以用
        利用此plugin,把源代码中的xml文件,打包到相应位置,
        这里主要是为了打包Mybatis的mapper.xml文件 
        -->
        <plugin>
            <artifactId>maven-resources-plugin</artifactId>
            <version>2.5</version>
            <executions>
                <execution>
                    <id>copy-xmls</id>
                    <phase>process-sources</phase>
                    <goals>
                        <goal>copy-resources</goal>
                    </goals>
                    <configuration>
                        <outputDirectory>${basedir}/target/classes</outputDirectory>
                        <resources>
                            <resource>
                                <directory>${basedir}/src/main/java</directory>
                                <includes>
                                    <include>**/*.xml</include>
                                </includes>
                            </resource>
                        </resources>
                    </configuration>
                </execution>
            </executions>
        </plugin>   
        ...
    </plugins>     
    ...
</build>
复制代码

转载于:http://bglmmz.iteye.com/blog/2063856

分享到:
评论

相关推荐

    idea用maven搭建mybatis框架demo(附数据库表)

    10. **Maven插件**:Maven有许多插件,例如maven-compiler-plugin用于编译Java源码,maven-surefire-plugin用于运行测试,maven-war-plugin用于打包Web应用。 综上所述,这个项目涵盖了从IDE配置、项目构建、数据库...

    在Eclipse中使用Maven整合SSM框架.rar

    通过Maven,我们可以方便地管理项目的依赖关系,自动化构建过程,如编译、测试、打包、部署等。Maven的配置文件pom.xml定义了项目的依赖、构建过程和其他元数据。 二、Eclipse与Maven的集成 在Eclipse中,我们需要...

    springmvc+maven+mybatis.doc

    在构建Java Web应用程序时,Spring MVC、Maven和MyBatis是常见的技术栈。Spring MVC作为控制器层,负责处理HTTP请求并转发到相应的业务逻辑;Maven作为一个项目管理工具,帮助管理和构建项目;MyBatis则作为一个持久...

    SSM框架整合jar包和maven pom.xml配置文件整合

    同时,还需要在Mapper XML文件中编写SQL语句,并映射到对应的Java接口。 9. **项目结构**:一个典型的SSM项目结构通常包括src/main/java(源代码目录)、src/main/resources(资源配置目录)、src/main/webapp(Web...

    Springboot + Mybatis +maven 火车订票系统.zip

    2. 数据访问:Mybatis 的 Mapper 接口和 XML 映射文件结合,实现了 SQL 的动态编写,提供了良好的扩展性。SpringBoot 的 @Autowired 注解用于自动注入 SqlSessionTemplate 或 SqlSessionFactory,使得 DAO 层的操作...

    IDEA整合Maven+SSM框架.zip

    4. **Maven项目结构**:在IDEA中,SSM项目通常遵循Maven的标准目录结构,包括`src/main/java`(源码)、`src/main/resources`(资源配置)、`src/main/webapp`(Web应用目录)和`pom.xml`(Maven配置文件)。...

    myeclipse平台maven搭建ssm例子.zip

    这个压缩包"myeclipse平台maven搭建ssm例子"应该包含了创建SSM项目的全部源代码,包括pom.xml文件,Spring的配置文件(如applicationContext.xml),SpringMVC的配置文件(如servlet-context.xml),MyBatis的配置...

    day04-Maven&MyBatis.zip

    例如,开发者可以使用Maven的插件生成MyBatis的Mapper接口和XML配置文件,使得数据库操作更加便捷。 在"day04-Maven&MyBatis.zip"这个压缩包中,可能包含了一个简单的Java Web项目,该项目展示了如何配置Maven和...

    maven+spring+mybatis配置

    1.非web环境下spring如何与mybatis集成 2.maven如何打可以直接运行的jar包 3.maven如何用profile动态打包jdbc.properties 4.maven如何把mybatis的mapper.xml一起打包到jar中

    使用 eclipse oxygen maven 搭建 springmvc mybatis druid 的增删改框架代码

    在本项目中,Maven帮助我们引入了SpringMVC、MyBatis和Druid等库,并自动构建和打包项目。 `SpringMVC` 是Spring框架的一部分,用于构建Web应用程序。它采用模型-视图-控制器(MVC)架构模式,提供了一种灵活的方式...

    maven-1.rar

    7. **Mapper接口与XML配置**:MyBatis 通过接口和对应的 XML 映射文件定义 SQL 语句。接口方法与 SQL 语句一一对应,XML 文件中编写具体的 SQL 逻辑和结果集映射。 8. **SqlSession与Executor**:在 MyBatis 中,...

    maven和MyBatis

    1. Maven整合MyBatis:在Maven项目中,MyBatis作为依赖加入pom.xml,然后通过Maven的资源插件处理MyBatis的配置文件和Mapper XML文件。 2. Spring与MyBatis集成:在Spring框架中,MyBatis可以作为一个数据访问层,...

    SpringMvc+Spring+Mybatis+Maven整合示例testmybatis源码.zip

    在本示例中,Maven帮助整合了Spring、SpringMVC和Mybatis的相关库,并负责项目的构建和打包。 **整合流程** 1. 配置Maven的`pom.xml`文件,引入Spring、SpringMVC、Mybatis和相关依赖。 2. 创建Spring的配置文件,...

    SpringMVC Spring MyBatis 框架整合 Annotation Maven Project

    此外,Maven还提供了多种生命周期和插件,用于编译、测试、打包和部署等任务。 整合这三个框架,开发人员可以构建出高效、模块化的Web应用,其中SpringMVC处理HTTP请求,Spring负责业务逻辑和依赖管理,MyBatis处理...

    SSM整合时的Maven项目源码

    4. **Maven**:Maven是Java项目的构建工具,它通过配置文件(pom.xml)管理项目的依赖关系,自动化构建流程,包括编译、测试、打包、部署等。在SSM项目中,Maven帮助我们组织项目结构,并自动下载和管理所需的库文件...

    ssm+maven简单整合

    3. **编写实体类、Mapper接口和Mapper XML文件**:实体类对应数据库中的表,Mapper接口用于业务逻辑,XML文件编写SQL语句。 4. **配置Maven**:在`pom.xml`中添加JDBC驱动、MyBatis、Spring、SpringMVC等依赖,设置...

    spring bootMVC+maven+mybatis

    - 使用`mvn clean package`命令,Maven会编译源代码、运行测试并打包成可执行的JAR或WAR文件。 5. **项目结构**: - 根据给定的压缩包文件名称`jscprj-6.8`,我们可以推测项目可能包含以下几个关键目录: - `src...

    Mybatis和Maven简单入门示例

    此外,Maven还提供了一套标准的项目结构和生命周期,可以方便地进行编译、测试、打包、部署等操作。 在这个"MybatisMavenDemo"示例中,你可能会看到以下内容: 1. **pom.xml**:这是Maven项目的核心配置文件,包含...

    MavenSSM.zip

    此外,MyBatis的映射文件(Mapper接口对应的XML文件)通常放在`resources/mapper`目录下,用于定义SQL查询和结果映射。 `target`目录是Maven构建后的输出目录,包含了编译后的class文件、打包的WAR或JAR文件等。`....

Global site tag (gtag.js) - Google Analytics