내부망/폐쇄망 배포 설정 (beans classpath)
1. 내부망/폐쇄망에 스프링 프로젝트 배포할 때
2. 배포하는 서버에 인터넷 연결이 되어있지 않을 때
이런 환경이라면 http:// 어쩌고로 연결되어있는 부분들이 말썽을 피운다고 한다
나같은 경우 maven spring 프로젝트였고root-context.xml, servlet-context.xml 의 상단 beans 부분을 바꿔준 후 war 파일을 쪄서 배포해주었다
방법을 적어두면 다음번에 유용하게 참고할 수 있을 것같아서 냅다 공유
beans classpath 설정
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:mybatis-spring="http://mybatis.org/schema/mybatis-spring"
xsi:schemaLocation="http://www.springframework.org/schema/beans classpath:org/springframework/beans/factory/xml/spring-beans-4.3.xsd
http://mybatis.org/schema/mybatis-spring classpath:org/mybatis/spring/config/mybatis-spring-1.2.xsd
http://www.springframework.org/schema/context classpath:org/springframework/context/config/spring-context-4.0.xsd
http://www.springframework.org/schema/tx classpath:org/springframework/transaction/config/spring-tx-4.2.xsd">
xsi:schemaLocation 부분을 수정해주면 되는데
http://mybatis.org/schema/mybatis-spring http://mybatis.org/schema/mybatis-spring-1.2.xsd
▼ 이렇게 적혀있는 코드를 아래 코드로 변경
http://mybatis.org/schema/mybatis-spring classpath:org/mybatis/spring/config/mybatis-spring-1.2.xsd
적혀있는 모든 .xsd 를 classpath 방식으로 수정해주면 되는데
이 classpath는 아래 방법대로 찾으면 된다
classpath 찾는 방법
해당 jar파일이 있는 곳을 열어서
spring.schemas 파일을 찾아 연다
http\://mybatis.org/schema/mybatis-spring-1.2.xsd=org/mybatis/spring/config/mybatis-spring-1.2.xsd
http\://mybatis.org/schema/mybatis-spring.xsd=org/mybatis/spring/config/mybatis-spring-1.2.xsd
그러면 이런 텍스트가 적혀있는데 내가 원하는 xsd의 = 뒤에적혀있는 부분을 복사해서 사용하면 된다
즉, 내가 찾고있는 http://mybatis.org/schema/mybatis-spring-1.2.xsd 는 첫번째 줄의 org/mybatis/spring/config/mybatis-spring-1.2.xsd 이거라 이걸 붙혀서 쓰면 된다는 말~~
근데 배포시마다 이렇게 바꿔줄 수 없으니
그냥 이렇게 적용해두고 쓰거나 두 버전으로 만들어놓고 배포버전은 주석처리를 해둔 다음
배포할때 주석 부분만 바꿔치고 war파일 찌면 된다