일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Spring Boot
- maven
- 문서
- Python
- Docker
- Core Java
- Exception
- PostgreSQL
- jpa
- JDBC
- oracle
- Eclipse
- SpringBoot
- Open Source
- MSSQL
- STS
- Tomcat
- 오픈소스
- AJAX
- JavaScript
- Thymeleaf
- git
- error
- 설정
- ubuntu
- spring
- IntelliJ
- MySQL
- myBatis
- Source
- Today
- Total
헤르메스 LIFE
[전자정부프레임워크] 전자정부프레임워크 설치 본문
전자정부프레임워크를 테스트 해보고자 개발환경 세팅을 해보려고 합니다.
https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:dev4.1:gettingstarted
전자정부 표준 프레임워크 기반의 Hello World 응용 프로그램 개발 및 실행을 위한 구현도구의 환경정보는 다음과 같다.
항목 설명 비고
OS Windows 10, 7 이상
IDE Eclipse 4.23.0(2022-03) JDK 11 이상 필요
(2.7) JavaEE(J2EE) JDK1.5 ~ 1.8의 환경 (단, 개발환경 2.7 이상에서는 JDK 1.6 이상 필요)
(3.0) JavaEE(J2EE) JDK1.6 ~ 1.8의 환경
(3.5) JavaEE(J2EE) JDK1.7 ~ 1.8의 환경 (단, 개발환경 3.5.1 부터 JDK 1.8 적용 가능)
(3.6) JavaEE(J2EE) JDK1.7 ~ 1.8의 환경
(3.7) JavaEE(J2EE) JDK1.7 ~ 1.8의 환경 (단, 개발환경 3.7 에는 JDK 1.8 필요)
(3.8) JavaEE(J2EE) JDK1.7 ~ 1.8의 환경 (단, 개발환경 3.8 에는 JDK 1.8 필요)
(3.9) JavaEE(J2EE) JDK1.7 ~ 1.8의 환경 (단, 개발환경 3.9 에는 JDK 1.8 필요)
(3.10) JavaEE(J2EE) JDK1.7 ~ 1.8의 환경 (단, 개발환경 3.10 에는 JDK 1.8 필요)
(4.0) JavaEE(J2EE) JDK1.8이상의 환경 (단, 개발환경 4.0 부터 JDK11 필요)
(4.1) JavaEE(J2EE) JDK1.8이상의 환경 (단, 개발환경 4.1(Windows) 에는 JDK 11 필요, 개발환경 4.1(MacOS, Linux) 에는 JDK 17 필요)
Servlet 3.1 사용
Servlet 2.5는 공통 컴포넌트 커스터마이징(Servlet 2.5 Downgrade) 참고
https://www.egovframe.go.kr/home/sub.do?menuNo=12
표준프레임워크 4.1은 다음과 같은 변경을 통해 '23년 3월 공개되었습니다.
SpringBoot 2.7.0 지원
실행환경 적용 오픈소스SW 업그레이드 (Spring Framework 5.3.6 -> 5.3.20)
실행환경 적용 오픈소스SW 업그레이드 (Spring Security 5.4.6 -> 5.7.1)
실행환경 적용 오픈소스SW 업그레이드 (Spring Batch 4.3.2 -> 4.3.6)
https://www.egovframe.go.kr/home/sub.do?menuNo=13
1. 다운로드
https://www.egovframe.go.kr/home/sub.do?menuNo=4
2. 전자정부 플레임워크 설치
다운받은 eGovFrameDev-4.1.0-64bit.zip 파일을 c:\ 에 압축을 풀었습니다.
eclipse 와 workspace 폴더가 보입니다.
끝.
3. JDK 의 설치
아래와 같은 설명이 있네요. JDK는 11버전을 사용해야 한다고 합니다.
그래서, OpenJDK11.0.19_x64 를 사용하기로 하였습니다.
openjdk version "11.0.19" 2023-04-18 LTS
OpenJDK Runtime Environment Zulu11.64+19-CA (build 11.0.19+7-LTS)
OpenJDK 64-Bit Server VM Zulu11.64+19-CA (build 11.0.19+7-LTS, mixed mode)
개발자용 개발환경 버전 4.1.0(64bit)
[구성]
개발자용 개발환경 64bit(Implementation Tool) Version은 개발자의 코드 작성을 지원하는 도구로, eGovFrame기반의 어플리케이션 개발을 지원하는 IDE와 Editor(SourceCode, UML, ERD, DBIO, WebFlow, Code Generation, Code Inspection, 공통컴포넌트 생성, 맞춤형 개발환경, Nexus, SVN)와 Debug(Local, Remote), Mobile IDE, Batch IDE, RDT로 구성되어 있습니다.
[개선 기능]
-Eclipse 2022-03 (4.23.0) 적용
-실행환경 4.1.0 적용
-공통컴포넌트 253종 (모바일운전면허증 연계 추가 적용)
-DBMS 골디락스 추가된 공통컴포넌트 탑재
-MyBatis DAO 소스생성기능 추가
-DeviceAPI 생성 제거 -> DeviceAPI Web만 생성
-React 개선과 JWT 인증방식 적용된 심플 홈페이지 템플릿 탑재
-Eclipse Tools for Cloud Foundry 추가
-Eclipse Docker Tooling 추가
[설치방법]
개발환경을 구성할 디렉토리에 eGovFrameDev-4.1.0-64bit.zip 파일을 실행하여 압축을 해제하고 eclipse를 실행하면 개발환경 필수요소와 선택요소가 모두 설치되어있는 개발환경을 사용할 수 있습니다.
[Troubleshooting]
1. Eclipse 실행 후 Failed to create the Java Virtual Machine 오류 발생 시
이클립스 구동 시 JVM 관련 오류 발생 시, eclipse 설정 파일인 eclipse.ini 에서 사용자 PC의 JDK 설치 경로를 다음과 같이 추가합니다. (JDK는 11 버전 사용이 필수)
** eclipse.ini 에 jdk 경로 추가 (예시)
-vm
C:Program Files\Java\jdk-11.0.5\bin\javaw.exe
2. 이클립스의 파일에 한글깨짐이 발생 시
eclipse.ini에 이클립스의 파일 포멧을 UTF-8로 설정 (예시)
-Dfile.encoding=UTF-8
3. 템플릿 생성 위저드를 이용하여 프로젝트 생성시 일부 DML파일의 한글깨짐 현상 시
해당 DML파일의 encoding형식을 UTF-8에서 EUC-KR로 변경
4. Windows의 PC 보호
Microsoft Defender SmartScreen에서 인식할 수 없는 앱의 시작을 차단했습니다. 이 앱을 실행하면 PC가 위험에 노출될 수 있습니다. 라는 문구가 뜨면 추가 정보를 클릭하고 실행을 누르시면 됩니다.
4. Maven 설치
5. Tomcat 설치
https://tomcat.apache.org/download-90.cgi
Users of Tomcat 10 onwards should be aware that, as a result of the move from Java EE to Jakarta EE as part of the transfer of Java EE to the Eclipse Foundation, the primary package for all implemented APIs has changed from javax.* to jakarta.*. "Tomcat 10 이상의 사용자는 Java EE를 Eclipse Foundation으로 이전하는 과정에서 Java EE에서 자카르타 EE로 이전함에 따라 구현된 모든 API의 기본 패키지가 javax.* 에서 jakarta.*로 변경되었다." 라는 이슈가 있습니다. |
Window > Preferences > Server > Runtime Environments
6. 실행
c:\eGovFrameDev-4.1.0-64bit\eclipse\eclipse.exe
7. Maven 설정
Windows > Preferences > Maven > Installations
8. JDK 설정
Windows > Preferences > Java > Installed JREs
9. Maven 프로젝트 생성
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>egov.simple.maven</groupId>
<artifactId>egov.simple.maven</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>eGovSimple</name>
<properties>
<java-version>11</java-version>
<springframework.version>5.3.6</springframework.version>
<org.slf4j-version>1.7.30</org.slf4j-version><!-- 1.7.26 -->
<ch.qos.logback-version>1.2.9</ch.qos.logback-version>
<org.egovframe.rte.version>4.0.0</org.egovframe.rte.version>
</properties>
<!-- 전자정부 프레임워크 Maven Repository 주소 선언. 안해주면 오류남. -->
<repositories>
<repository>
<id>mvn2s</id>
<url>https://repo1.maven.org/maven2/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>egovframe</id>
<url>https://maven.egovframe.go.kr/maven/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<!-- oracle lib 오류로 인해 추가 -->
<repository>
<id>oracle</id>
<name>ORACLE JDBC Repository</name>
<url>https://packages.atlassian.com/maven-3rdparty/</url>
</repository>
</repositories>
<dependencies>
<!-- Spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${springframework.version}</version>
<exclusions>
<!-- Exclude Commons Logging in favor of SLF4j -->
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${springframework.version}</version>
</dependency>
<!-- slf4j -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${org.slf4j-version}</version>
</dependency>
<!-- Bridge -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>log4j-over-slf4j</artifactId>
<version>${org.slf4j-version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jul-to-slf4j</artifactId>
<version>${org.slf4j-version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>1.7.25</version>
</dependency>
<!-- logback -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${ch.qos.logback-version}</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId><!-- logback을 slf4j-api에서 사용함을 의미 -->
</exclusion>
</exclusions>
<scope>runtime</scope><!-- runtime 시 사용함 -->
</dependency>
<!-- https://mvnrepository.com/artifact/javax.annotation/javax.annotation-api -->
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>1.3</version>
</dependency>
<!-- For user input validation
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.1.0.Final</version>
</dependency>
-->
<!-- commons-xxxx -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
<!-- Servlet -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.postgresql/postgresql -->
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.5.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>4.1.2</version>
</dependency>
<!-- 전자정부프레임워크 -->
<dependency>
<groupId>org.egovframe.rte</groupId>
<artifactId>org.egovframe.rte.ptl.mvc</artifactId>
<version>${org.egovframe.rte.version}</version>
<exclusions>
<exclusion>
<artifactId>commons-logging</artifactId>
<groupId>commons-logging</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.egovframe.rte</groupId>
<artifactId>org.egovframe.rte.psl.dataaccess</artifactId>
<version>${org.egovframe.rte.version}</version>
</dependency>
<dependency>
<groupId>org.egovframe.rte</groupId>
<artifactId>org.egovframe.rte.fdl.idgnr</artifactId>
<version>${org.egovframe.rte.version}</version>
</dependency>
<dependency>
<groupId>org.egovframe.rte</groupId>
<artifactId>org.egovframe.rte.fdl.property</artifactId>
<version>${org.egovframe.rte.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>${java-version}</source>
<target>${java-version}</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.3</version>
</plugin>
</plugins>
</build>
</project>
https://hermeslog.tistory.com/657
'Spring Framework' 카테고리의 다른 글
[Redis] Docker에 Redis 설치하기 + 비밀번호 (0) | 2024.01.30 |
---|---|
[전자정부프레임워크] 샘플 프로젝트 생성 dev4.1 (0) | 2023.06.27 |
[개발환경] Spring + Maven + MyBatis + PostgreSQL Upgrade (0) | 2023.05.23 |
[Spring] 개발환경 구축 - 이미지 파일 뷰 (0) | 2023.01.20 |
[Spring] 개발환경 구축 - 대용량 Excel 다운로드 (0) | 2023.01.19 |