>Java >java지도 시간 >Maven이 프레임워크를 mybaits와 통합할 때 발생하는 문제

Maven이 프레임워크를 mybaits와 통합할 때 발생하는 문제

巴扎黑
巴扎黑원래의
2017-06-26 10:39:291898검색

먼저 MAVENx 프로젝트의 표준 디렉터리 구조를 살펴보겠습니다.

일반적으로 우리가 사용하는 리소스 파일(다양한 xml, 속성, xsd 파일 등)은 src/main/ 아래에 있습니다. resources , 패키징을 위해 Maven을 사용할 때 Maven은 이러한 리소스 파일을 해당 jar 또는 war로 패키징할 수 있습니다.

때로는 mybatis의 mapper.xml 파일을 src/main/java 아래에 Mapper.java와 함께 두는 데 익숙합니다. 이런 식으로 Maven을 사용하여 패키징해야 합니다. pom.xml 파일을 수정합니다. mapper.xml 파일을 jar 또는 war로 패키징합니다. 그렇지 않으면 이러한 파일이 패키징되지 않습니다. (Maven은 src/main/java가 단지 java의 소스 코드 경로일 뿐이라고 생각합니다.) 인터넷에 여러 가지 방법이 있는데, 여러 가지 방법 중 하나를 선택할 수 있습니다.

방법 1, 여기서 **/*는 모든 수준의 하위 디렉터리에 있는 리소스 파일이 패키징되도록 작성됩니다.

xml code

Maven이 프레임워크를 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>
Maven이 프레임워크를 mybaits와 통합할 때 발생하는 문제

방법 2, build-helper-maven-plugin 플러그인 사용

Maven이 프레임워크를 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>
Maven이 프레임워크를 mybaits와 통합할 때 발생하는 문제

방법 3, maven-resources-plugin 플러그인을 사용하세요

Maven이 프레임워크를 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>
Maven이 프레임워크를 mybaits와 통합할 때 발생하는 문제

위 내용은 Maven이 프레임워크를 mybaits와 통합할 때 발생하는 문제의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.