IntelliJ IDEA로 프로젝트 구성
사전 요구 사항
이 예제에서는 IntelliJ IDEA Community Edition IDE를 사용합니다. 이전 링크에서 Community 버전은 Ultimate 버전 바로 아래에서 찾을 수 있습니다.
Java 전용 다른 IDE를 대안으로 사용할 수 있습니다. 예를 들어 Eclipse나 NetBeans를 사용할 수 있으며, 비슷하게 구성하면 됩니다.
Netuno 플랫폼을 설치하세요. Java 프로젝트는 미리 설치된 Netuno 플랫폼과 통합됩니다.
프로젝트 생성
IntelliJ IDEA Community를 열면 새 프로젝트를 생성합니다. New Project 버튼을 클릭하세요.
왼쪽에서 Java 옵션을 선택하고, 프로젝트 이름 필드인 Name:에는 예제로 계산기를 사용하겠습니다.
Location:에서 프로젝트가 파일 시스템의 어디에 위치할지 선택합니다.
Build system:은 IntelliJ로 그대로 둡니다.
JDK에서는 Netuno와 함께 제공되는 GraalVM을 선택해야 합니다. Add JDK from Disk... 옵션을 사용해 추가하려면 변경하고, Netuno 플랫폼이 설치된 위치로 이동하여 다음 폴더를 선택하세요:
netuno/core/graalvm
이것은 프로젝트를 실행하고 디버그할 수 있도록 프로젝트에서 사용하도록 권장하는 GraalVM JDK입니다.
프로젝트 설정
왼쪽에 표시된 프로젝트 파일 중 프로젝트 이름이 표시된 첫 번째 항목(이 예제에서는 계산기)을 마우스 오른쪽 버튼으로 클릭해 옵션 메뉴를 열고 Open Module Settings로 이동합니다.
열린 창의 왼쪽에서 Modules 옵션이 선택되어 있어야 하며, 오른쪽에는 3개의 탭이 있습니다:
- Sources
- Paths
- Dependencies
경로
Paths 탭에서 Compiler Output의 두 번째 옵션을 선택합니다:
Use module compile output path
그리고 설치된 Netuno 플랫폼에 있는 netuno/core/web/WEB-INF/classes 폴더를 선택합니다. Output path:와 Test output path: 두 옵션 모두 이 동일한 경로를 가져야 합니다.
netuno/core/web/WEB-INF의classes폴더는 기본적으로 존재하지 않으므로 생성해야 합니다.
종속성
Dependencies 탭에서 목록 옵션이 있는 표 위의 + 버튼을 클릭합니다.
나타나는 옵션에서 첫 번째 옵션인 1 Jars or Directories...를 클릭합니다.
Netuno 플랫폼이 설치된 위치로 이동하여 모든 종속성을 추가합니다:
netuno/netuno.jar- 플랫폼 루트에 있습니다.netuno/core/lib- 모든 파일을 선택하고 추가합니다.netuno/core/web/WEB-INF/lib- 모든 파일을 선택하고 추가합니다.
Detected Roots 및 Choose Roots라는 창이 나타나면 선택된 모든 옵션을 선택 해제하고 OK를 클릭합니다.
파일 목록에서 첫 번째 JAR부터 마지막 JAR까지 모두 추가되었는지 확인하세요. 키보드 단축키로 모든 파일을 선택하려고 하면 잘 동작하지 않을 수 있으므로, 첫 번째 JAR를 선택한 뒤 Shift 키를 누른 채 마지막 JAR까지 내려가 클릭해야 합니다. 이렇게 하면 IntelliJ가 모든 파일을 제대로 불러올 수 있습니다.
모든 종속성이 올바르게 추가되었는지 확인하고, 목록에서 각 폴더의 첫 번째와 마지막 JAR가 있는지 확인하세요.
이렇게 하면 Java용 Netuno 생태계 전체가 프로젝트와 연결됩니다.
아티팩트
여기서 프로젝트의 JAR 파일을 생성할 수 있으며, 다른 컴퓨터에 있는 다른 Netuno 인스턴스로 코드를 배포하기가 쉬워집니다.
Open Module Settings 창의 왼쪽 메뉴에 있는 Artifacts 옵션에서 사용 가능한 + 버튼을 클릭한 다음 JAR 옵션을 선택하고, 마지막으로 Empty 옵션을 클릭합니다.
Name: 필드에는 프로젝트 이름을 입력합니다. 예: 계산기.
바로 아래 Output Layout에서 + 버튼을 클릭하고 Module Output 옵션을 선택한 뒤, 나타나는 옵션 창에서 우리 프로젝트를 선택하고 OK를 클릭합니다.
Apply 또는 OK를 클릭해 프로젝트 설정 창을 닫습니다.
아티팩트 생성
아티팩트를 생성하려면 IntelliJ의 전역 메뉴에서 Build > Build Artifacts... 옵션으로 이동하면 됩니다.
해당 프로젝트 옵션을 선택하고 Build를 클릭합니다.
왼쪽 파일 목록의 out 폴더 안에 생성된 파일이 표시됩니다. 이 예제에서는 다음과 같습니다:
out/artifacts/계산기/계산기.jar
아티팩트 게시
생성된 JAR 파일은 배포하여 다른 Netuno 플랫폼 어디에나 배치할 수 있습니다.
단, 개발 중인 플랫폼에는 프로젝트 JAR를 포함할 수 없습니다. 코드가 이미 다음 위치에 게시되기 때문입니다:
netuno/core/web/WEB-INF/classes
따라서 개발에 사용되지 않고 클래스가 없는 다른 플랫폼에서는 JAR 파일을 사용합니다.
설치된 Netuno 플랫폼에서는 이 JAR를 Netuno 루트의 lib 폴더에 넣어야 합니다:
netuno/lib
이 폴더는 기본적으로 존재하지 않으므로 생성해야 할 수 있습니다.
이 폴더에 있는 모든 JAR는 Netuno 플랫폼에서 자동으로 로드됩니다.
코드 패키지
Java의 표준대로 코드에는 항상 package가 있어야 합니다.
package는 Netuno의 전역 구성 파일에 등록해야 합니다:
netuno/config.js
끝에 다음 코드를 추가하세요:
config.packagesScan.add("내.자바.프로젝트")
이 방식으로 패키지를 구성에 추가하지 않으면 프로젝트가 절대 로드되지 않습니다.
Netuno는 미리 추가된 패키지에서만 리소스와 서비스를 찾기 때문입니다.
구성에 패키지를 등록하지 않는 대안은 org.netuno로 시작하는 Java 패키지를 사용하는 것입니다.
Netuno는 org.netuno로 시작하는 패키지에 있는 리소스와 서비스를 자동으로 찾습니다.
접두사
org.netuno.addon을 사용하는 것이 좋습니다.
예를 들어 org.netuno.addon.계산기를 사용할 수 있습니다.
패키지 접두사 org.netuno.addon은 외부에서 추가된 기능이며 Netuno 자체의 일부가 아님을 구분합니다.
따라서 Netuno와 통합되는 모든 Java 코드는 다음 위치에 정의하고 구성해야 합니다:
org.netuno.addon.내.프로젝트
org.netuno.addon 뒤에 프로젝트 식별자를 추가하세요.
실행
프로젝트를 실행하려면 새 실행 구성을 만들어야 합니다.
상단 바에는 Run 버튼과 Debug 버튼이 있습니다.
실행 화살표 버튼 앞에서 아래쪽 화살표 기호가 있는 Current File 옵션을 클릭합니다.
그다음 Edit configurations...를 클릭합니다.
열린 창의 왼쪽 위에 있는 + 버튼을 클릭하고 Application 옵션을 선택합니다.
Name:에는 Netuno를 입력하고, Main class 필드에는 org.netuno.cli.Main을 입력합니다.
Program arguments에는 애플리케이션과 함께 Netuno 서버 시작 명령을 입력합니다. 이 예제에서는 미리 계산기라는 애플리케이션도 생성했습니다:
server app=계산기
앱은 먼저 생성해야 합니다. Netuno에서
./netuno app명령을 사용하세요.
Working directory:에는 Netuno 루트 폴더를 지정합니다. 전체 경로여야 한다는 점이 매우 중요합니다.
다음과 같이 되어야 합니다:
이제 Apply와 OK를 클릭하면 됩니다.
이제 프로젝트를 실행하거나 디버그할 수 있습니다.
결론
Netuno 코어에 새로운 동작을 추가하기 위해 새 Java 프로젝트를 만드는 방법을 살펴보았습니다.
또한 JAR 파일을 생성하고 netuno/lib 폴더에 배포하는 모범 사례도 살펴보았습니다.
모든 Java 프로그래밍 기술과 라이브러리를 사용해 Netuno에서 어떤 유형의 기능이든 만들 수 있습니다.
특히 지원되는 모든 스크립트 언어에서 사용할 수 있는 로우코드 프로그래밍 리소스를 만드는 것이 가능합니다. 예를 들면 다음과 같습니다:
- JavaScript
- Python
- Ruby
- Kotlin
- Groovy
다음 튜토리얼에서는 첫 번째 로우코드 프로그래밍 리소스를 만드는 방법을 확인하세요.
또한 Netuno에 구성된 모든 애플리케이션에서 사용할 수 있는 첫 번째 다중 애플리케이션 웹 서비스를 만드는 방법도 확인하세요.