Maison  >  Article  >  Java  >  Problèmes rencontrés lorsque maven intègre le framework avec mybaits

Problèmes rencontrés lorsque maven intègre le framework avec mybaits

巴扎黑
巴扎黑original
2017-06-26 10:39:291853parcourir

Tout d'abord, jetons un coup d'œil à la structure de répertoires standard du projet MAVENx :

Généralement, les fichiers de ressources que nous utilisons (divers fichiers xml , propriétés, fichiers XSD, etc.) sont placés sous src/main/resources Lors de l'utilisation de maven pour l'empaquetage, maven peut empaqueter ces fichiers de ressources dans le fichier jar ou war correspondant.

Parfois, comme le fichier mapper.xml de mybatis, nous avons l'habitude de l'assembler avec Mapper.java, tous deux sous src/main/java. maven pour empaqueter, vous devez modifier le fichier pom.xml pour empaqueter le fichier mapper.xml dans un fichier jar ou war. Sinon, ces fichiers ne seront pas empaquetés. (Maven pense que src/main/java n'est que le chemin du code source de Java). Il existe de nombreuses méthodes sur Internet. Je l'ai essayé et plusieurs méthodes sont disponibles.

Méthode 1, où **/* est écrit pour garantir que les fichiers de ressources dans les sous-répertoires à tous les niveaux sont empaquetés.

Code XML

Problèmes rencontrés lorsque maven intègre le framework avec mybaits
<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>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.properties</include>
                <include>**/*.xml</include>
                <include>**/*.tld</include>
            </includes>
            <filtering>false</filtering>
        </resource>
    
</build>
Problèmes rencontrés lorsque maven intègre le framework avec mybaits

Méthode 2, utilisez le plug-in build-helper-maven-plugin

Problèmes rencontrés lorsque maven intègre le framework avec mybaits
<build>
    ...
    
        ...
        <!--
        此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>   
        ...
         
    ...
</build>
Problèmes rencontrés lorsque maven intègre le framework avec mybaits

Méthode 3, en utilisant le plugin maven-resources-plugin

Problèmes rencontrés lorsque maven intègre le framework avec mybaits
<build>
    ...
    
        ...
        <!--
        此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>   
        ...
         
    ...
</build>
Problèmes rencontrés lorsque maven intègre le framework avec mybaits

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn