표준프레임워크 3.10는 기존 표준프레임워크 3.X와의 호환성을 염두해두고 실행환경의 버전 업그레이드를 진행하였으나,
전체 오픈소스SW 업그레이드에 따라 일부 변경이 필요합니다. 또한, 각 프로젝트의 상황 및 환경에 따라서 버전 업그레이드에 따른
충돌, 버그, 불안정성이 발생할 수도 있으니 충분한 테스트 후 진행하시기 바랍니다.
표준프레임워크 3.10는 JDK 1.7이 필요합니다.
이에 따라 우선 관련된 WAS 등 적용되어 있는 SW 등이 JDK 1.7을 지원하는지 확인 및 JDK 업그레이드를 수행하십시오.
Maven을 사용하는 경우 프로젝트에서 사용하는 pom.xml 파일을 수정하여 업그레이드를 진행할 수 있습니다.
기본적으로 표준프레임워크 실행환경에서 사용되는 오픈소스 라이브러리들만을 업그레이드 하고자 하는 경우
pom.xml 파일에서 egovframework.rte 패키지 아래에 있는 라이브러리들의 버전만 3.10.0으로 업그레이드 해주면 됩니다.
변경 전 (예)
<dependency> <groupId>egovframework.rte</groupId> <artifactId>egovframework.rte.psl.dataaccess</artifactId> <version>3.9.0</version> </dependency>
변경 후 (예)
<dependency> <groupId>egovframework.rte</groupId> <artifactId>egovframework.rte.psl.dataaccess</artifactId> <version>3.10.0</version> </dependency>
만약 표준프레임워크의 버전을 property를 사용하여 일괄적으로 관리하는 경우 property를 3.10.0으로 변경합니다.
property의 이름은 프로젝트에 따라 다를 수 있습니다.
변경 전 (예)
<properties> <spring.maven.artifact.version>4.3.22.RELEASE</spring.maven.artifact.version> <egovframework.rte.version>3.9.0</spring.maven.artifact.version> </properties>
변경 후 (예)
<properties> <spring.maven.artifact.version>4.3.25.RELEASE</spring.maven.artifact.version> <egovframework.rte.version>3.10.0</spring.maven.artifact.version> </properties>
표준프레임워크에서 제공하는 간소화 서비스인 Spring Security 설정 간소화, Session 방식 접근제어, Crypto 간소화를 업그레이드 하시는 경우 변경된 내용을 확인하시기 바랍니다.
변경 전
http://www.egovframe.go.kr/schema/egov-security/egov-security-3.7.xsd
변경 후
http://maven.egovframe.go.kr/schema/egov-security/egov-security-3.10.0.xsd
변경 전
http://www.egovframe.go.kr/schema/egov-access/egov-access-3.9.xsd
변경 후
http://maven.egovframe.go.kr/schema/egov-access/egov-access-3.10.0.xsd
변경 전
http://www.egovframe.go.kr/schema/egov-crypto/egov-crypto-3.8.xsd
변경 후
http://maven.egovframe.go.kr/schema/egov-crypto/egov-crypto-3.10.0.xsd
BeanUtils 라이브러리 버전이 변경됨에 따라 BeanMap 클래스를 사용하는 경우 다음과 같은 코드 변경이 필요합니다.
변경 전 (예)
Map<String, Object> introspected = new BeanMap(vo); for (String key : introspected.keySet()) { if (key.equals("dn") || key.equals("class") || introspected.get(key) == null || introspected.get(key).equals("")) continue; ContainerCriteria c = query().where(key).is(String.valueOf(introspected.get(key))); criteria.and(c); }
변경 후 (예)
Map<Object, Object> introspected = new BeanMap(vo); for (Object key : introspected.keySet()) { if (key.equals("dn") || key.equals("class") || introspected.get(key) == null || introspected.get(key).equals("")) continue; ContainerCriteria c = query().where((String) key).is(String.valueOf(introspected.get(key))); criteria.and(c); }
프로젝트에 따라서 기존에 사용하던 라이브러리, 코드, WAS, DB 등과의 충돌이 발생할 수 있습니다.
알 수 없는 충돌이 발생하고 해결이 어려운 경우 표준프레임워크센터에 프로젝트의 환경 및 에러메시지를 포함하여 문의를 주시기 바랍니다.