다음 프로젝트에서 프론트엔드로 넥사크로를 사용하기로 결정했다.
처음 사용해보는 개발툴이라 열심히 연습하며 느낀 점은... 이번에야 이미 결정된 일이라 어쩔 수 없다지만 솔직히 이걸 두 번은 사용할 일이 있을 것 같지는 않다.
분명 개발자의 노고가 많이 포함된 툴이고, UI를 만드는 면에서 보면 드래그앤 드랍으로 웹 포털을 개발할 수 있는 훌륭한 개발툴임은 명확하다.
그리고 어느 개발툴이나 장단점은 존재하고, 러닝 커브도 분명 존재한다. 이 또한 알고 있다.
그래도... 솔직히 개인적인 느낌으로 나한테는 이 개발툴이 와닿지 않는다... 만약 다시 사용한다 그러면 오픈소스 UI를 가져와서 내가 퍼블리싱을 하는 한이 있더라도 어떻게든 막을 것 같다.
그래서 굳이 포스팅을 해야하나 싶긴 하지만 그래도 인생사 모르는거라 언제 또 쓰게될 지도 모르고, 또 한 번 포스팅해놓으면 누군가는 유용하게 사용할 수 있을 것 같아 포스팅을 한 번 해본다.
예제로 그냥 간단하게 리스트만 있는 게시판 정도만 만들어볼까 한다.
넥사크로 스튜디오 다운로드
우선 스프링으로 프로젝트를 만들고 관리하기 위해 이클립스나 STS, IntelliJ가 필요하듯 넥사크로 프로젝트를 만들고 관리하기 위해서는 넥사크로 스튜디오가 필요하다.
다음 링크에서 넥사크로 스튜디오를 다운로드하자.
그냥 다운로드 하면 2주, 체험판 라이선스까지 신청을 하면 더 오래 사용할 수 있다.
https://www.tobesoft.com/product/nexacro
투비소프트
DEV.TOOL 비즈니스용 UI·UX 개발 소프트웨어의 공급부터 안정적 구축, 유지보수 수행까지 기업을 위한 서비스를 제공합니다.
www.tobesoft.com
다운로드 이후 설치 과정은 쉬우니 굳이 포스팅하지 않고 생략하겠다.
스프링 부트 프로젝트 만들기
넥사크로 스튜디오 다운로드 및 설치가 완료됐다면. 스프링 부트 프로젝트를 만든다.
자바 버전은 21을 사용했다.
Spring 버전은 3.4.4를 사용하고,
필요한 Dependency를 선언한다.
우선 간편하게 다음 Dependency를 사용할 것이다.
- Lombok
- Spring Web : FrontEnd는 넥사크로고, 백엔드가 Spring이므로, API처럼 사용하기 위함
자동으로 추가 가능한 디펜던시에서는 없어서 추가하지 못했던 디펜던시를 수기로 추가한다.
어떤 걸 추가할거냐면 JSP를 추가할 건데, 이는 넥사크로로 만든 UI를 띄우기 위해서는 JSP 설정이 필요하기 떄문이란다. (자세한 이유는 몰?루)
어쨌든 하란 대로 하기 위해서 설정을 추가하자 현재 Gradle로 프로젝트를 생성했기 떄문에 아래 디펜던시를 build.gradle에 추가했다.
implementation 'org.apache.tomcat.embed:tomcat-embed-jasper'
implementation 'jstl:jstl:1.2'
만약 Maven을 사용중이라면 아래 디펜던시를 추가하면 된다.
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
완료되었다면 Build를 해주어야 하지만, 굳이 지금하지 않아도 괜찮다.
아직 추가할 것이 남아있기 떄문이다.
넥사크로와 스프링 부트를 연동하기 위해서는 투비소프트에서 자체 제공하는 Jar파일들이 필요하다.
다만 여느 다른 모듈처럼 Dependency로 자동으로 입력되도록 지원하지 않기 때문에 별도로 다운로드가 필요하다.
우선 아래 URL에 진입한다.
https://mangosteen.tobesoft.co.kr/nexus/#browse/browse:maven-public
Nexus Repository Manager
mangosteen.tobesoft.co.kr
그리고 com/nexacro까지 찾아가 아래 항목들을 다운로드 받는다.
- nexacroN-xapi
- uiadapter-core
- uiadapter-dataaccess
- uiadapter-excel
참고로 jakarta가 붙은 것으로 다운로드 해야 하는데, 이는 Spring Boot가 3점대 버전으로 올라오며 javax에서 제공하던 디펜던시가 jakarta로 변경되었기 때문이다.
jakarta가 붙지 않은 모듈은 javax를 사용하기 때문에, Spring Boot 3점대 버전에서는 ClassNotFound 에러가 발생할 수 밖에 없다. (이거 때문에 고생 좀 했다.)
고로 만약 2점대 버전을 쓴다면 jakarta가 붙지 않은 것을 다운받아야 하고, 3점대 버전을 쓴다면 jakarta가 붙은 버전을 다운로드 받아야 한다.
어쨌든 위에서 표시한 프로젝트 내에서 가장 높은 버전의 jar 파일들을 다운받은 후, 프로젝트 안에 libs 폴더를 만들고 그 안에 jar 파일들을 넣어준다.
그 후 외부 jar 파일 인식을 위해 build.gradle내 dependencies에 아래 항목을 추가한다.
implementation fileTree(dir: 'libs', includes: ['*.jar'])
* Maven에서는 일일히 하나씩 넣어줘야 한단다.
그리고 아까 미루었던 Build를 수행하자.
Nexacro 프로젝트 만들기
Nexacro Studio를 다운로드 한 후 Nexacro Project가 아니라 Spring Boot 프로젝트를 먼저 만들었다. 순서가 조금 이상하다고 느껴질 수 있는데, 이는 이유가 있다. Nexacro Project가 Spring Boot 프로젝트 디렉터리 밑에 만들어져야 하기 때문이다.
방법은 아래와 같다.
- src/main 밑에 프로젝트 생성
- Generate Path를 src/main/resources/static 하위로 지정
우선 1번 항목은 쉽다. 프로젝트를 생성하며 Location을 src/main/ 밑으로 지정하기만 하면 된다.
테스트용이므로 Screen은 Desktop만 지정한다.
그리고 Frame도 Full로 지정한다.
위 화면에서 그냥 Finish를 눌러서 프로젝트 생성을 완료한다.
프로젝트가 스프링 프로젝트 하위에 만들어졌으나, Generate는 기본 디렉터리에서 실행되고 있을 것이다.
이를 스프링 프로젝트로 옮겨줘야 함으로 Generate > Settings > Generate Path를 src/main/resources/static 밑으로 설정한다.
그리고 TypeDefinition 의 Services를 더블클릭한 후 아래 User Service에 아래 두 개 항목을 입력한다.
PrefixID | svc | nexacrolib |
Type | JSP | js |
URL | http://localhost:8080 | ./nexacrolib/ |
CacheLevel | none | session |
그 후 상단에서 Generate > Regenerate > Application을 눌러준다.
그러면 프로젝트 폴더 /src/main/resources/static 밑에 여러 파일이 생겼음을 확인할 수 있다.
이러면 프로젝트간 연동은 끝이난 것이다.
이제 다음 포스팅부터는 설정 파일 작성부터 프론트 <-> 백 간 데이터 송수신에 대해 다뤄보겠다.
'실습 > Nexacro + Spring Boot' 카테고리의 다른 글
[Nexacro + Spring Boot] 넥사크로(3/3) - 페이징 (0) | 2025.04.15 |
---|---|
[Nexacro + Spring Boot] 넥사크로(2/3) - 데이터 주고받기 (1) | 2025.04.15 |