이전 포스팅 (사전 진행 사항)
[WAS] JEUS 21 설치 (feat. CentOS 8, JDK 8)
Linux(CentOS 8) 환경에 JEUS 21을 WAS로 설치하려 한다. JEUS의 다른 버전은 여기에서 다운로드가 가능하므로, 21버전이 허용(공개)되지 않은 사용자도 사용할 수 있다. TmaxSoft Technical Network [technet-02] 데
idox.tistory.com
STS
STS란 Spring Tool Suite의 약자로, Spring Framework를 이용한 프로젝트를 진행하기 위한 Eclipse 기반의 개발 환경(IDE)이다.
1. STS 설치
- STS 파일 : spring-tool-suite-4-4.11.0.RELEASE-e4.17.0-win32.win32.x86_64.zip
파일 다운로드 후 압축 해제 ('경로가 너무 깁니다' 에러 발생시 C드라이브 아래 등 root에 가까운 곳에서 해제)
STS 파일 내의 SpringToolSuite4.exe 실행
2. STS 패치
- 패치 파일 : com.tmaxsoft.sts4.p2-1.0.0-60.zip (오류 발생시 com.tmaxsoft.sts4.p2-1.0.0-48.zip 이용)
상단 툴바 중 Help > Install New Software... > Add... > Archive > com.tmaxsoft.sts4.p2-1.0.0-60.zip 파일 선택
설치 후 Help > About Spring Tool Suite 4 > Installation Details 에서 STS 패치 잘 되었는지 확인
3. ProObject21 프로젝트 생성
Window > Show View > Progress 에서 프로그레스 바를 활성화하면 Nexus에 업로드되는 과정을 볼 수 있음.
File > New > Other > tmax > ProObject Boot Project > Next > 정보 입력(자유) > Finish
좌측 Package Explorer에서 생성한 PO Project 우클릭 > Properties > Proobject
4. pom.xml 수정
하단바에서 오류 더블클릭 혹은 좌측 패널에서 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>com.tmax</groupId>
<artifactId>demoTest</artifactId>
<version>1</version>
<packaging>war</packaging>
<name>demoTest</name>
<description>ProObject project for spring</description>
<properties>
<java.version>1.8</java.version>
<org.springframework-version>5.3.6</org.springframework-version>
<org.aspectj-version>1.6.10</org.aspectj-version>
<org.slf4j-version>1.7.25</org.slf4j-version>
<spring.kafka.version>1.3.11.RELEASE</spring.kafka.version>
<jeus.version>21.0.0.0.1</jeus.version>
<proobject.version>21.0.0.0.22</proobject.version>
<failOnMissingWebXml>false</failOnMissingWebXml>
</properties>
<repositories>
<repository>
<id>tmaxgroup</id>
<name>tmaxgroup release</name>
<url>${Nexus_Repository_Address}</url>
</repository>
</repositories>
<dependencies>
<!-- @Inject -->
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
</dependency>
<!-- Servlet -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!-- Mybatis -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.3.6</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.6</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.2</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-autoconfigure</artifactId>
<version>2.1.4</version>
</dependency>
<!-- ProObject -->
<dependency>
<groupId>com.tmax.jeus</groupId>
<artifactId>proobject-core2</artifactId>
<scope>provided</scope>
<version>${jeus.version}</version>
</dependency>
<dependency>
<groupId>com.tmax.jeus</groupId>
<artifactId>proobject-model</artifactId>
<scope>provided</scope>
<version>${jeus.version}</version>
</dependency>
<dependency>
<groupId>com.tmax.jeus</groupId>
<artifactId>proobject-engine</artifactId>
<version>${jeus.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.tmax.jeus</groupId>
<artifactId>proobject-network</artifactId>
<scope>provided</scope>
<version>${jeus.version}</version>
</dependency>
<dependency>
<groupId>com.tmax.proobject</groupId>
<artifactId>proobject-service</artifactId>
<version>${proobject.version}</version>
</dependency>
<!-- Test -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<version>2.4.5</version>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.9</version>
<configuration>
<additionalProjectnatures>
<projectnature>org.springframework.ide.eclipse.core.springnature</projectnature>
</additionalProjectnatures>
<additionalBuildcommands>
<buildcommand>org.springframework.ide.eclipse.core.springbuilder</buildcommand>
</additionalBuildcommands>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.10.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<compilerArgument>-Xlint:all</compilerArgument>
<showWarnings>true</showWarnings>
<showDeprecation>true</showDeprecation>
</configuration>
</plugin>
</plugins>
</build>
</project>
수정본
<project>
<properties>
<jeus.version>21.0.0.b422</jeus.version> <!-- 현재 설치 버전 작성 -->
<proobject.version>21.0.0.0.24</proobject.version> <!-- 현재 설치 버전 작성 -->
</properties>
<repositories>
<repository>
<id>tmaxgroup</id>
<name>proobject-rte-ps-repo-release</name> <!-- 레포지토리 이름 -->
<url>http://{IP}:8082/repository/{레포지토리 이름}/</url>
</repository>
</repositories>
<build>
<plugins>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.7.2</version> <!-- 추가 -->
</plugins>
<plugins>
<plugin>
<artifactId>maven-eclipse-plugin</artifactId>
<configuration>
<downloadSources>true</downloadSources> <!-- 추가 -->
<downloadJavadocs>true</downloadJavadocs> <!-- 추가 -->
</configuration>
</plugin>
</plugins>
</build>
</project>
프로젝트(demoTest) 우클릭 > Maven > Update Project... 클릭하여 수정한 pom.xml 반영
※ Force Update of Snapshot/Releases 체크할 것
5. Workspace 지정
- STS 디렉토리(sts-4.11.0.RELEASE) 내에 workspace 폴더 생성
- STS의 Select a directory as workspace > Browse > 새로 만든 workspace 폴더 지정 > Launch
메타데이터 로딩하여 개발서버 연동 확인
상단 툴바의 Window > Show View > Other > 검색창에 Meta View 입력 후 추가
Meta View에 Project 입력(text로 입력X, 좌측 패키지 클릭하면 입력됨), Input값 지정하여 데이터 검색 가능한지 확인
→ Connection 에러 발생시 서버 IP, Port 정확한지 다시 확인. (가이드 문서의 IP, Port랑 다름을 유의)
Local Repository 설정
설치가이드(3)에 기술된 settings.xml 파일을 작성한 뒤 PATH 지정
Window > Preferences > Maven > User Settings

Package UI 설정
- 리소스 확인 : View Menu(왼쪽 탭 세로로 ... 버튼) > Filters... > .* resources 체크 해제 > OK
- 패키지 계층화 : View Menu > Package Presentation > Hierarchical
6. Git 연동 (GitLab, Jenkins 설치 이후)
Window > Show View > Other > git > Git Repositories, Git Staging > Open
Git Repositories > Clone a Git repository
- URL : http://{IP}:9000/devops/devops1
- User : User ID
- Password : User PW
브런치 선택하면 Git 연동 완료. 프로젝트 우클릭 > Team > Share Project 클릭시 Git에 Push됨
(Stage에 파일 올라가면 녹색'+' 버튼 클릭하여 Staged Changes로 이동 > Commit Message 작성 > Commit and Push)