개발자의 오르막
Multimodule Querydsl 환경설정 본문
단일 모듈에서는 잘 실행되었던 Querydsl 이 멀티 모듈에서 환경설정을 해보니 에러가 났다.
위와 같이 admin, core, web 으로 3개의 멀티모듈로 구성하였다.
- build.gradle
plugins {
id 'org.springframework.boot' version '2.2.8.RELEASE'
id 'io.spring.dependency-management' version '1.0.9.RELEASE'
id "org.sonarqube" version "2.7.1"
id 'java'
}
ext["hibernate.version"] = "5.4.5.Final"
allprojects {
repositories {
mavenCentral()
maven { url 'https://repo.spring.io/milestone' }
maven { url 'https://repo.spring.io/snapshot' }
}
}
subprojects {
apply plugin: 'java'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
group 'com.gig'
version '1.0'
sourceCompatibility = JavaVersion.VERSION_11
configurations {
developmentOnly
runtimeClasspath {
extendsFrom developmentOnly
}
compileOnly {
extendsFrom annotationProcessor
}
}
dependencies {
}
}
project(":module-core") {
version = '0.1.0'
bootJar.enabled = false
jar.enabled = true
}
project(':module-admin') {
apply plugin: 'war'
version = '0.1.0'
bootWar.enabled = false
war.enabled = true
war {
archivesBaseName = "admin"
archiveFileName = "ROOT.war"
}
dependencies {
compile project(':module-core')
}
}
project(':module-web') {
apply plugin: 'war'
version = '0.1.0'
bootWar.enabled = false
war.enabled = true
war {
archivesBaseName = "web"
archiveFileName = "ROOT.war"
}
dependencies {
compile project(':module-core')
}
}
test {
useJUnitPlatform()
}
위의 build.gradle 은 전체 의존성을 추가한 것은 아니지만 멀티모듈을 구성할 때 내가 자주 쓰는 방식이다.
- plugins 는 대표적인 플러그인 의존을 선언할 때 쓰인다.
- ext 는 특정 버전을 정의하고 싶을 때 쓰인다.
- project('모듈명') 은 각각의 모듈에 따로 적용시킬 부분들을 선언한다.
# 개발환경
- SpringBoot, Jpa, Gradle
'Trouble Shouting' 카테고리의 다른 글
An Authentication object was not found in the SecurityContext (0) | 2020.08.26 |
---|---|
[#Error NginX, SpringBoot ] 스프링 시큐리티 Https, ngnix 설정 (0) | 2020.05.13 |
[SpringBoot] getResultList Error [To_CHAR] (0) | 2020.03.03 |
Tinymce & SpringBoot 웹 및 모바일 게시판 에디터 파일업로드 (3) | 2020.02.24 |
[SpringBoot] 컴파일 오류. WindowDefender 를 확인하라 (0) | 2019.11.04 |
Comments