SpringFramework

Spring legacy - 클래스파일 경로에 있는 xml 파일 빌드 (인텔리제이 혹은 배포)

유혁스쿨 2024. 2. 19. 00:15
728x90
반응형

context.xml파일

<property name="mapperLocations" value="classpath:%{도메인/디렉토리}%/**/*Mapper.xml"/>

일반적으로 classpath는 src/main이다.

src/main 하위에서 java 혹은 resources 두갈래로 갈린다.

우리는 java 파일이 존재하는 경로에 mapper.xml을 저장할 예정이므로 groupID와 artifactID를 포함한 도메인 경로와 파일이 실제로 존재하는 하위 디렉토리 로 경로를 지정한다.

 

pom.xml파일

    <build>
    	<!-- xml 로드 시작 -->
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.*</include>
                </includes>
            </resource>
        </resources>
    	<!-- xml 로드 종료 -->
        
        <plugins>
    	<!-- 플러그인 생략! -->
        </plugins/>
    </build>

위 xml로드 부분인 resources코드를 추가하면

src/main/java에 존재하는 모든 xml파일을 컴파일 한다.

 

STS에서는 일반적으로 위 코드를 하지 않더라도 컴파일과정을 거쳐 빌드 된 후 톰캣에 배포된다.

하지만 인텔리제이에서는 위 코드가 생략되면 컴파일이 안된다.

또한 STS에서도 컴파일 뿐만 아니라 war파일 혹은 jar파일로 빌드하게 될 경우 위 코드가 필수로 필요할것이다.

728x90
반응형