프로젝트/기타

Gradle Build, Coverage 오류

TheWing 2021. 4. 6. 18:22

Gradle Build 오류

 

 

 

Starting Gradle Daemon...
Gradle Daemon started in 1 s 163 ms
> Task :compileJava
> Task :processResources
> Task :classes
> Task :bootJarMainClassName
> Task :bootJar
> Task :jar SKIPPED
> Task :assemble
> Task :compileTestJava
> Task :processTestResources NO-SOURCE
> Task :testClasses
Could not write standard input to Gradle Test Executor 1.
java.io.IOException: 파이프가 닫히는 중입니다
    at java.base/java.io.FileOutputStream.writeBytes(Native Method)
    at java.base/java.io.FileOutputStream.write(FileOutputStream.java:354)
    at java.base/java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:81)
    at java.base/java.io.BufferedOutputStream.flush(BufferedOutputStream.java:142)
    at org.gradle.process.internal.streams.ExecOutputHandleRunner.forwardContent(ExecOutputHandleRunner.java:68)
    at org.gradle.process.internal.streams.ExecOutputHandleRunner.run(ExecOutputHandleRunner.java:53)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
    at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
    at java.base/java.lang.Thread.run(Thread.java:829)
오류: 기본 클래스 worker.org.gradle.process.internal.worker.GradleWorkerMain을(를) 찾거나 로드할 수 없습니다.
원인: java.lang.ClassNotFoundException: worker.org.gradle.process.internal.worker.GradleWorkerMain

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':test'.
> Process 'Gradle Test Executor 1' finished with non-zero exit value 1
  • 프로젝트를 진행하면서 Gradle Build를 하다가 이런 이슈를 겪었었다.
    • Could not write standard input to Gradle Test Executor 1.
      java.io.IOException: 파이프가 닫히는 중입니다

해결법

  • 왜 이런지 몇 달을 고생하다가 아시는 분이 Gradle 경로에 한글이 들어가 있으면 안 된다고 한다. 근데 이상하게도 Gradle 버전에 따라 에러가 안 뜰때도 있고 뜰때도 있었다.
  • 결론적으로 Gradle 경로에 한글이 들어가 있으면 안된다. 한글이 안들어가게 수정을 하자

번외

Exception in thread "main" java.lang.reflect.InvocationTargetException
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:513)
    at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:525)
Caused by: java.lang.reflect.InvocationTargetException
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at com.intellij.rt.coverage.main.CoveragePremain.premain(CoveragePremain.java:35)
    at com.intellij.rt.coverage.main.CoveragePremain.premain(CoveragePremain.java:28)
    ... 6 more
Caused by: java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1
FATAL ERROR in native method: processing of -javaagent failed, processJavaStart failed
    at com.intellij.rt.coverage.instrumentation.Instrumentator.performPremain(Instrumentator.java:55)
    at com.intellij.rt.coverage.instrumentation.Instrumentator.premain(Instrumentator.java:33)
    ... 12 more
*** java.lang.instrument ASSERTION FAILED ***: "result" with message agent load/premain call failed at ./src/java.instrument/share/native/libinstrument/JPLISAgent.c line: 422

 

 

  • Coverage 에러도 경로에 한글이 들어가 있어서 그렇다. 이건 경로를 바꿔줘도 되지 않아서 포맷을 하고 진행했다..
  • 해결법
    • 사용자 계정을 영어 이름으로 생성
    • 포맷

'프로젝트 > 기타' 카테고리의 다른 글

DB에 기본값을 줄지 Server단에서 기본값을 줄지?  (0) 2021.04.30
REST API 정리  (0) 2021.01.31