IntelliJ Idea groovy.lang.그루비 런타임예외:충돌하는 모듈 버전
내 메이븐 빌드는 괜찮고 CLI에서 그루비하게 실행할 수 있습니다.그러나 IntelliJ Idea(버전 15 커뮤니티 에디션) 내에서 groovy 클래스를 실행하려고 하면 아래 오류가 발생합니다.
Exception in thread "main" java.lang.ExceptionInInitializerError
at org.codehaus.groovy.runtime.InvokerHelper.<clinit>(InvokerHelper.java:61)
at groovy.lang.GroovyObjectSupport.<init>(GroovyObjectSupport.java:32)
at groovy.lang.Closure.<init>(Closure.java:219)
at groovy.lang.Closure.<init>(Closure.java:236)
at groovy.lang.Closure$1.<init>(Closure.java:203)
at groovy.lang.Closure.<clinit>(Closure.java:203)
at filter.App.<clinit>(App.groovy)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:122)
Caused by: groovy.lang.GroovyRuntimeException: Conflicting module versions. Module [groovy-all is loaded in version 2.3.9 and you are trying to load version 2.4.5
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl$DefaultModuleListener.onModule(MetaClassRegistryImpl.java:509)
at org.codehaus.groovy.runtime.m12n.ExtensionModuleScanner.scanExtensionModuleFromProperties(ExtensionModuleScanner.java:77)
at org.codehaus.groovy.runtime.m12n.ExtensionModuleScanner.scanExtensionModuleFromMetaInf(ExtensionModuleScanner.java:71)
at org.codehaus.groovy.runtime.m12n.ExtensionModuleScanner.scanClasspathModules(ExtensionModuleScanner.java:53)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.<init>(MetaClassRegistryImpl.java:110)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.<init>(MetaClassRegistryImpl.java:71)
at groovy.lang.GroovySystem.<clinit>(GroovySystem.java:33)
... 10 more
이걸 어떻게 없애야 할지 모르겠어요.
이것은 나의 pom 의존성입니다.
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>2.4.5</version>
</dependency>
그리고 나는 스프링 부츠를 사용하고 있습니다.
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.2.RELEASE</version>
<relativePath></relativePath>
</parent>
이것은 시스템에 설치된 나의 그루비 버전입니다.
Groovy Version: 2.4.5 JVM: 1.8.0_60 Vendor: Oracle Corporation OS: Linux
누군가 이것에 대해 알고 있다면 저에게 알려주세요.
프로젝트 설정에서 groovy lib를 삭제해야 합니다.
shift+alt+s+s, 글로벌 라이브러리 - groovy 삭제.또한 애플리케이션/테스트를 실행할 때는 maven 의존성에서 groovy를 가리켜야 합니다.
@슈퍼 앤드류의 제안은 제 상황이 아니었습니다. 저는 그루비를 제 프로젝트 구조의 글로벌 라이브러리에 등록하지 않았습니다.하지만 이 StackExchange 솔루션으로 문제가 해결되었습니다.이 코드를 에 추가합니다.build.gradle파일.
configurations.all {
resolutionStrategy {
force 'org.codehaus.groovy:groovy-all:2.4.4'
}
}
Gradle을 7.+로 업그레이드한 후 최근 프로젝트에서 이를 보았습니다.
이것이 저에게 문제를 일으킨 이유는 Gradle 7.+가 현재 Groovy 3.+를 사용하고 있기 때문에 다양한 플러그인(예: spock-core)을 업그레이드해야 했기 때문입니다.
다양한 종속성의 비호환성 때문에 이러한 문제가 발생했고 업데이트를 하자 이 문제가 사라졌습니다.
언급URL : https://stackoverflow.com/questions/35520767/intellij-idea-groovy-lang-groovyruntimeexception-conflicting-module-versions
'codememo' 카테고리의 다른 글
| 기본값이 아닌 인수는 기본값 인수를 따를 수 없는 이유는 무엇입니까? (0) | 2023.07.13 |
|---|---|
| Visual Studio 코드가 설치된 Git를 감지할 수 없습니다. (0) | 2023.07.13 |
| 이전 노드에 대한 포인터를 사용할 수 없는 경우 단일 연결 목록에서 중간 노드 삭제 (0) | 2023.07.13 |
| 쉼표로 숫자를 수천 개의 구분자로 형식을 지정하는 방법은 무엇입니까? (0) | 2023.07.13 |
| 단일 워크북에서 여러 CSV를 여러 워크시트로 가져오기 (0) | 2023.07.13 |