서로 다른 서비스를 갖는 프로젝트 2개가 있고 두개의 프로젝트가 intellij에서 동시에 wildfly(jboss) 상에서 실행 되어야 할때, 어떻게 로컬 세팅을 하는지에 대한 기록 임
전제
각 프로젝트는 독립 적으로 이미 작동 시킬 수 있는 상태이다.
wildfly standalone 버전으로 서비스를 start할 거다
port는 서로 달라도 된다
Wildfly가 특정 폴더에 인스톨 되어있다.
wildfly 설정
wildfly 디렉토리 이하 standalone 폴더를 하나더 copy한다.
- standalone2 라는 이름으로 standalone폴더와 같은 위치에 만든다
Wildfly > bin 디렉토리 이하 standalone.sh 또는 standalone.bat을 하나더 copy한다.
- standalone2.sh 라는 이름으로 같은 위치에 만든다
standalone2.sh 를 수정한다
# determine the default base dir, if not set if [ "x$JBOSS_BASE_DIR" = "x" ]; then - JBOSS_BASE_DIR="$JBOSS_HOME/standalone" + JBOSS_BASE_DIR="$JBOSS_HOME/standalone2" fi
intellij 설정
- A프로젝트와 B프로젝트를 intellij에서 연다
- A프로젝트는 다음과 같이 기본 설정한다. (Run > Run/Debug Configuration)
- '+' > JBoss Server > wildfly > local > Application Server > 로컬 Jboss선택
- 만약에 Jboss 선택에 아무것도 없다면 "Configuration" 버튼 클릭 JbossHome 선택
- 'url' : http://localhost:8080/
- Operating mode > standalone 선택
- Deployment 탭 선택
- 디플로이 하고자 하는 Artifact 선택
- Startup/Connection 탭 선택
- Startup Script : <>/bin/standalone.sh 선택
- '+' > JBoss Server > wildfly > local > Application Server > 로컬 Jboss선택
- B프로젝트는 다음과 같이 기본 설정한다. (Run > Run/Debug Configuration)
- '+' > JBoss Server > wildfly > local > Application Server > 로컬 Jboss선택
- 만약에 Jboss 선택에 아무것도 없다면 "Configuration" 버튼 클릭 JbossHome 선택
- 'url' : http://localhost:8090/
- Operating mode > standalone 선택
- Port offset : 10 선택
- Deployment 탭 선택
- 디플로이 하고자 하는 Artifact 선택
- Startup/Connection 탭 선택
- Startup Script : <>/bin/standalone2.sh 선택
- '+' > JBoss Server > wildfly > local > Application Server > 로컬 Jboss선택
offset 설정을 standalone.xml에서 설정할 경우 해당 설정 값을 intellij가 감지 하지 못한다. 반듯이 intellij에서 제공하는 offset으로 수정해줘야 한다. (management port 때문에라도 이렇게 해야한다.)
상위와 같이 했음에도
**Caused by: org.jboss.msc.service.DuplicateServiceException: Service jboss.undertow.deployment.default-server.default-host./.session is already registered**
이런 오류가 나오는 경우에는 standalone2 디렉토리 이하에 있는 standalone.xml에 앞서 설정한deployment
가 남아 있을 수도 있다. 이경우에는 deployments tag를 아예 삭제하고 intellij에서 실행하자
'intellij' 카테고리의 다른 글
Intellij Spring boot Hot Swap / Hot Deploy 설정하기 (0) | 2022.02.16 |
---|---|
Intellij cygwin 연동하기 (0) | 2022.01.14 |
Intellij 에서 Spring Boot application.yml 또는 application.properties 를 못 읽어 올 때 (Resource 접근 안될 때) (0) | 2021.06.14 |
Intellij UTF 8 설정 (2) | 2021.05.24 |
Intellij Editor 창 Font Size 변경 (0) | 2021.04.26 |