Maven 프로젝트 를 포장 할 때 mapper, xml 파일 은 포장 되 지 않 습 니 다.
7807 단어 자바 웹 백 엔 드
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>