Gradle compileGroovy java.lang.ExceptionInInitializerError

时间:2017-09-09 00:20:42

标签: maven intellij-idea gradle groovy

这是github回购:https://github.com/entrpn/gradle_plugin。您需要手动创建一个文件夹" repo"因为git没有添加空目录,所以在项目的根目录。这是生成的文件在运行时应该去的地方:

  
    

./ gradlew uploadArchives

  

我正在尝试按照本教程https://afterecho.uk/blog/create-a-standalone-gradle-plugin-for-android-a-step-by-step-guide.html编写一个简单的gradle插件,当我到达我尝试创建本地maven repo的部分时,我无法做到。

问题:我使用的是gradle包装器命令行:

  
    

./ gradlew uploadArchives

  

我收到上述错误。任何人都知道我做错了什么。这是日志输出:

  
    

在worker守护程序中执行org.gradle.api.internal.tasks.compile.ApiGroovyCompiler。     16:20:23.624 [INFO] [org.gradle.workers.internal.WorkerDaemonServer]在worker守护程序中执行org.gradle.api.internal.tasks.compile.ApiGroovyCompiler的异常:java.lang.ExceptionInInitializerError。     16:20:23.636 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationWorkerRegistry]工作者root.2.3已完成(1个正在使用中)     16:20:23.636 [DEBUG] [org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter]从上下文中移除{}的任务工件状态。     16:20:23.636 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter]完成执行任务':compileGroovy'

  

谢谢。

2 个答案:

答案 0 :(得分:2)

好的我明白了。杰森的回答给了我一个线索。我打开终端并运行./gradlew --version并得到了这个输出:

Gradle 3.5-rc-2

建造时间:2017-03-27 15:56:23 UTC 修订版:ec63970cd167993d3dcda346a1d00a286a23b1c9

Groovy:2.4.10 Ant:2015年6月29日编译的Apache Ant(TM)版本1.9.6 JVM:1.8.0_131(Oracle Corporation 25.131-b11) 操作系统:Mac OS X 10.12.6 x86_64

所以我注意到Groovy版本是2.4.10所以我更改了gradle文件以使用此版本,重新编译并生成文件。

答案 1 :(得分:0)

当我尝试运行它时,我收到了以下错误,

  

当我尝试运行它时,我收到以下错误,“引起:groovy.lang.GroovyRuntimeException:冲突的模块版本。模块[groovy-all在版本2.4.7中加载,您正在尝试加载版本2.3。 11"

我修改了build.gradle并从

更改了第14行
compile 'org.codehaus.groovy:groovy-all:2.3.11'

compile 'org.codehaus.groovy:groovy-all:2.4.7'