Maven 프로젝트 를 포장 할 때 mapper, xml 파일 은 포장 되 지 않 습 니 다.

Maven 프로젝트 에서 Mybatis 프레임 워 크 를 사용 합 니 다. 프로젝트 타 임 스 를 실행 하면 다음 과 같 습 니 다.
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):

Maven 프로젝트 를 구축 할 때 특별한 설정 이 없 으 면 Maven 은 표준 디 렉 터 리 구조 에 따라 다양한 유형의 파일 을 찾 고 처리 하기 때 문 입 니 다.Maven 을 포장 할 때 기본 자바 디 렉 터 리 에 서 는. java 를 컴 파일 하고 컴 파일 된 class 파일 만 포장 합 니 다. mapper 인터페이스 와 mapper 맵 파일 을 같은 디 렉 터 리 에 두 었 을 때 mapper 맵 파일 은 포장 되 지 않 았 습 니 다.
아래 의 몇 가지 방법 은 모두 이 문 제 를 해결 할 수 있다.
1. build 노드 에 resources 노드 추가
 
        <resources>
            <resource>
                <directory>${basedir}/src/main/javadirectory>
                <includes>
                    <include>**/*.xmlinclude>
                includes>
            resource>
        resources>

2. build - helper - maven - plugin 플러그 인 사용
 <plugin>
            <groupId>org.codehaus.mojogroupId>
            <artifactId>build-helper-maven-pluginartifactId>
            <version>1.8version>
            <executions>
                <execution>
                    <id>add-resourceid>
                    <phase>generate-resourcesphase>
                    <goals>
                        <goal>add-resourcegoal>
                    goals>
                    <configuration>
                        <resources>
                            <resource>
                                <directory>src/main/javadirectory>
                                <includes>
                                    <include>**/*.xmlinclude>
                                includes>
                            resource>
                        resources>
                    configuration>
                execution>
            executions>
        plugin>   

3. maven - resources - plugin 플러그 인 사용
<plugin>
            <artifactId>maven-resources-pluginartifactId>
            <version>2.5version>
            <executions>
                <execution>
                    <id>copy-xmlsid>
                    <phase>process-sourcesphase>
                    <goals>
                        <goal>copy-resourcesgoal>
                    goals>
                    <configuration>
                        <outputDirectory>${basedir}/target/classesoutputDirectory>
                        <resources>
                            <resource>
                                <directory>${basedir}/src/main/javadirectory>
                                <includes>
                                    <include>**/*.xmlinclude>
                                includes>
                            resource>
                        resources>
                    configuration>
                execution>
            executions>
        plugin>   

좋은 웹페이지 즐겨찾기