Heim  >  Artikel  >  Java  >  Es treten Probleme auf, wenn Maven das Framework mit Mybaits integriert

Es treten Probleme auf, wenn Maven das Framework mit Mybaits integriert

巴扎黑
巴扎黑Original
2017-06-26 10:39:291853Durchsuche

Werfen wir zunächst einen Blick auf die Standardverzeichnisstruktur des MAVENx-Projekts:

Im Allgemeinen sind die von uns verwendeten Ressourcendateien (verschiedene XML-Dateien). , Eigenschaften, XSD-Dateien usw.) werden unter src/main/resources abgelegt. Wenn Maven zum Packen verwendet wird, kann Maven diese Ressourcendateien in das entsprechende JAR oder WAR packen.

Manchmal, wie zum Beispiel die Mapper.xml-Datei von Mybatis, sind wir es gewohnt, sie mit Mapper.java zusammenzustellen, beide unter src/main/java Auf diese Weise, wenn maven zum Verpacken, Sie müssen die Datei pom.xml ändern, um die Datei mapper.xml in ein JAR oder WAR zu packen. Andernfalls werden diese Dateien nicht gepackt. (Maven glaubt, dass src/main/java nur der Quellcodepfad von Java ist). Es gibt viele Methoden im Internet, die ich ausprobiert habe, und es stehen mehrere Methoden zur Verfügung.

Methode 1, wobei **/* geschrieben wird, um sicherzustellen, dass Ressourcendateien in Unterverzeichnissen auf allen Ebenen gepackt werden.

XML-Code

Es treten Probleme auf, wenn Maven das Framework mit Mybaits integriert
<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>
Es treten Probleme auf, wenn Maven das Framework mit Mybaits integriert

Methode 2: Verwenden Sie das Build-Helper-Maven-Plugin-Plugin

Es treten Probleme auf, wenn Maven das Framework mit Mybaits integriert
<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>
Es treten Probleme auf, wenn Maven das Framework mit Mybaits integriert

Methode 3, Verwendung des Maven-Resources-Plugin-Plugins

Es treten Probleme auf, wenn Maven das Framework mit Mybaits integriert
<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>
Es treten Probleme auf, wenn Maven das Framework mit Mybaits integriert

Das obige ist der detaillierte Inhalt vonEs treten Probleme auf, wenn Maven das Framework mit Mybaits integriert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn