메뉴 건너뛰기

Cloudera, BigData, Semantic IoT, Hadoop, NoSQL

Cloudera CDH/CDP 및 Hadoop EcoSystem, Semantic IoT등의 개발/운영 기술을 정리합니다. gooper@gooper.com로 문의 주세요.


* 참조 : https://www.lagomframework.com/documentation/1.3.x/java/GettingStartedMaven.html#Generate-a-project-with-the-Lagom-archetype


1. 특정 위치에 폴더 생성및 이동
mkdir c:tmpHello
cd c:tmpHello


2. Hello 샘플 프로젝트 자동생성 실행
mvn archetype:generate -Dfilter=com.lightbend.lagom:maven-archetype-lagom-java


3. 진행화면
C:tmpHello>mvn archetype:generate -Dfilter=com.lightbend.lagom:maven-archetype-lagom-java
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] >>> maven-archetype-plugin:3.0.1:generate (default-cli) > generate-sources @ standalone-pom >>>
[INFO]
[INFO] <<< maven-archetype-plugin:3.0.1:generate (default-cli) < generate-sources @ standalone-pom <<<
[INFO]
[INFO] --- maven-archetype-plugin:3.0.1:generate (default-cli) @ standalone-pom ---
[INFO] Generating project in Interactive mode
[INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0)
Choose archetype:
1: remote -> com.lightbend.lagom:maven-archetype-lagom-java (maven-archetype-lagom-java)
Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): : 1
Choose com.lightbend.lagom:maven-archetype-lagom-java version:
1: 1.1.0-RC1
2: 1.1.0
3: 1.2.0-RC1
4: 1.2.0-RC2
5: 1.2.0
6: 1.2.1
7: 1.2.2
8: 1.2.3
9: 1.3.0-M1
10: 1.3.0-RC1
11: 1.3.0-RC2
12: 1.3.0
13: 1.3.1
14: 1.3.2
15: 1.3.3
16: 1.3.4
17: 1.3.5
18: 1.3.6
19: 1.3.7-RC1
20: 1.3.7
21: 1.3.8-M1
22: 1.3.8
23: 1.3.9
24: 1.3.10-M1
25: 1.3.10
26: 1.4.0-M1
27: 1.4.0-M2
28: 1.4.0-M3
29: 1.4.0-RC1
Choose a number: 29: 29
Downloading: https://repo.maven.apache.org/maven2/com/lightbend/lagom/maven-archetype-lagom-java/1.4.0-RC1/maven-archetype-lagom-java-1.4.0-RC1.pom
Downloaded: https://repo.maven.apache.org/maven2/com/lightbend/lagom/maven-archetype-lagom-java/1.4.0-RC1/maven-archetype-lagom-java-1.4.0-RC1.pom (2 KB at 3.8 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/com/lightbend/lagom/maven-archetype-lagom-java/1.4.0-RC1/maven-archetype-lagom-java-1.4.0-RC1.jar
Downloaded: https://repo.maven.apache.org/maven2/com/lightbend/lagom/maven-archetype-lagom-java/1.4.0-RC1/maven-archetype-lagom-java-1.4.0-RC1.jar (35 KB at 101.2 KB/sec)
Define value for property 'groupId': com.example.hello
Define value for property 'artifactId': my-first-system
Define value for property 'version' 1.0-SNAPSHOT: : Enter
Define value for property 'package' com.example.hello: : Enter
[INFO] Using property: scala-binary-version = 2.12
[INFO] Using property: service1ClassName = Hello
[INFO] Using property: service1Name = hello
[INFO] Using property: service2ClassName = Stream
[INFO] Using property: service2Name = stream
Confirm properties configuration:
groupId: com.example.hello
artifactId: my-first-system
version: 1.0-SNAPSHOT
package: com.example.hello
scala-binary-version: 2.12
service1ClassName: Hello
service1Name: hello
service2ClassName: Stream
service2Name: stream
  Y: : Y
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating project from Archetype: maven-archetype-lagom-java:1.4.0-RC1
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: groupId, Value: com.example.hello
[INFO] Parameter: artifactId, Value: my-first-system
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: package, Value: com.example.hello
[INFO] Parameter: packageInPathFormat, Value: com/example/hello
[INFO] Parameter: service2Name, Value: stream
[INFO] Parameter: service1Name, Value: hello
[INFO] Parameter: groupId, Value: com.example.hello
[INFO] Parameter: service1ClassName, Value: Hello
[INFO] Parameter: scala-binary-version, Value: 2.12
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: package, Value: com.example.hello
[INFO] Parameter: service2ClassName, Value: Stream
[INFO] Parameter: artifactId, Value: my-first-system
[INFO] Project created from Archetype in dir: C:tmpHellomy-first-system
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 05:50 min
[INFO] Finished at: 2018-01-19T15:31:56+09:00
[INFO] Final Memory: 17M/217M
[INFO] ------------------------------------------------------------------------


*컴파일시 getName(), getMessage()가 정의되지 않았다는 오류가 발생하면 https://www.gooper.com/ss/index.php?mid=bigdata&category=2825&document_srl=3572 를 참고하여 조치하고 재 컴파일 해준다.


4. 프로젝트 구조

my-first-system
 └ hello-api/             → hello world api project dir
 └ hello-impl/            → hello world implementation dir
 └ integration-tests/
 └ stream-api/            → stream api project dir
 └ stream-impl/           → stream implementation project dir
 └ pom.xml                → Project group build file


5. Hello 서비스 실행

cd my-first-system

mvn lagom:runAll

...
[info] Starting embedded Cassandra server
..........
[info] Cassandra server running at 127.0.0.1:4000
[info] Service locator is running at http://localhost:8000
[info] Service gateway is running at http://localhost:9000
...
[info] Service hello-impl listening for HTTP on 0:0:0:0:0:0:0:0:24266
[info] Service stream-impl listening for HTTP on 0:0:0:0:0:0:0:0:26230
(Services started, press enter to stop and go back to the console...)


6.hello 서비스 수행확인(HTTP client의 endpoint를 이용하여 확인)

http://localhost:9000/api/hello/World



번호 제목 날짜 조회 수
53 호출 url현황 2023.02.21 95
52 ./gradlew :composeDown 및 ./gradlew :composeUp 를 성공했을때의 메세지 2023.02.20 76
51 [ftgo_application]Unable to infer base url오류 발생시 조치방법 2023.02.20 1813
50 주문히스토리 조회 2022.04.30 86
49 주문 생성 데이터 예시 2022.04.30 101
48 restaurant-controller,에서 등록 예시 2022.04.30 87
47 [vue storefrontui]외부 API통합하기 참고 문서 2022.02.09 71
46 vuestorefrontui.io를 이용한 front end project 생성하기 2022.02.06 119
45 eclipse editor 설정방법 2022.02.01 178
44 windows10 pro에서 microservice pattern책의 예제를 kubernetes에서 기동하는 방법 2022.01.30 127
43 python2.7.4에서 Oracle DB(11.2)를 사용하기 위한 설정(RPM을 이용하여 RHEL 7.4에 설치) 2021.11.26 542
42 lombok설치방법 2020.06.20 169
41 embedded-cassandra의 data 저장위치 2019.06.09 413
40 scala-eclipse 다운로드 2019.06.09 283
39 jdk 9이상 사용하려면 repository를 아래와 같이 지정해야한다. 2019.06.02 188
38 maven을 이용하여 Hello world 서비스 자동 생성시 HelloServiceImpl.java에서 사용하는 getMessage() 와 getName() 이 정의되지 않은 오류가 발생시 조치방법 2018.01.19 408
» Lagom에서 제공하는 Maven을 이용한 Hello프로젝트 자동생성 및 실행 2018.01.19 224
36 lagom에서 제공하는 초기 생성기능을 이용하여 생성한 프로젝트의 소스 파악 2018.01.16 429
35 windows7에서 lagom의 hello world를 빌드하여 실행하는 경우의 로그(mvn lagom:runAll -Dscala.binary.version=2.11) 2017.12.22 272
34 Lagom프레임웍에서 제공하는 HelloWorld 테스트를 수행시 [unknown-version]오류가 발생하면서 빌드가 되지 않는 경우 조치사항 2017.12.22 231
위로