코틀린 java-test-fixtures 플러그인

2021. 4. 24. 05:11kotlin & spring

멀티모듈 프로젝트에서 java-test-fixtures 플러그인을 사용하면 컴파일이 안되거나 test 실행시 NoClassDef exception 이 발생하는 문제를 겪었다.

 

문제가 되었던 설정

plugins {
    id("java-library")
    id("java-test-fixtures")
}

subprojects {
  apply(plugin = "java-library")
  apply(plugin = "java-test-fixtures")
}

project(":app") {
  dependencies {
    testApi(testFixtures(project(":module")))
  }
}

project(":module") {
  ...
}

이렇게 바꾸니 정상동작

plugins {
    id("java-library")
    id("java-test-fixtures")
}

subprojects {

}

project(":app") {
  dependencies {
    testApi(testFixtures(project(":module")))
  }
}

project(":module") {
  apply(plugin = "java-library")
  apply(plugin = "java-test-fixtures")
  ...
}

 

모든 프로젝트에 java-library 플러그인을 적용하면 안되고 라이브러리 역할을 하는 subproject에만 java-library 플러그인을 적용해야한다. 

어찌저찌 해결은 했는데 왜 이렇게 되는지 이유를 잘 모르겠다. 자바 생태계는 너무 어렵다. 

'kotlin & spring' 카테고리의 다른 글

kotlin in action 2장 - 기초  (0) 2022.01.24