Gradle 3.1给出错误:"构建失败,异常,无法初始化类"任何命令

时间:2016-09-21 09:03:59

标签: gradle

我刚刚在我的Centos 7 CM上安装了Gradle,使用了sdkman

上建议的wgetGRADLE_HOME

我还将gradle -v --debug设置为正确的目录。

然而,当我运行10:01:03.295 [INFO] [org.gradle.internal.nativeintegration.services.NativeServices] Initialized native services in: /root/.gradle/native FAILURE: Build failed with an exception. * What went wrong: Could not initialize class org.fusesource.jansi.internal.CLibrary * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. 时,我得到了这个:

gradle-2.14.1

出了什么问题?

更新 安装gradle-3.0var dtime sql.NullString err = rows.Scan(&dtime) if dtime.Valid { dtimeString = dtime.String } else { dtime = sql.NullString{} } 似乎工作正常!

3 个答案:

答案 0 :(得分:1)

列出的第一个解决方案是使其工作的一种方法,但我怀疑原始人可能将其/ tmp目录安装了noexec,如果是这种情况,那么解决方案就不那么激烈了。

临时解决方法(如果使用包装器脚本)是改变gradlew以包含此类或类似内容,以便将jansi .so文件解压缩到 NOT 挂载的某个临时位置noexec:< / p>

DEFAULT_JVM_OPTS =&#34; -Dlibrary.jansi.path = $ {HOME} / gradle这个&#34;

BTW,您无法将此值推送到gradle.properties系统属性中,因为在加载这些属性之前会加载此类。

jansi 1.13似乎包含了2014年的旧版hawtjni,但即便是最新版本似乎也做同样的事情: https://github.com/fusesource/hawtjni/blob/3d3aa0be17cc8d35e251ea3594b1e684ce919d0d/hawtjni-runtime/src/main/java/org/fusesource/hawtjni/runtime/Library.java#L153

您可以调整-Djava.io.tmpdir,因为这部分代码: https://github.com/fusesource/hawtjni/blob/3d3aa0be17cc8d35e251ea3594b1e684ce919d0d/hawtjni-runtime/src/main/java/org/fusesource/hawtjni/runtime/Library.java#L227

如果ClassDefNotFound错误显示UnsatisfiedLinkError并且可能抱怨无法从/ tmp加载共享库,那将会很好,但它不会,即使是原因的一部分。

Gradle在内部将此系统属性设置为类似gradleUserHome目录的内容似乎应该是微不足道的,但有趣的是,在代码中发生这种情况的是在日志子项目中,它没有任何简单的方法来依赖于其他2个已经有便利类的子项目可以查找gradleUserHome。

答案 1 :(得分:0)

检查系统以确保磁盘上有可用空间 - 我有这个确切的错误,然后意识到我的磁盘已满。

释放一些空间后,Gradle 3.1再次开始工作而没有错误。

答案 2 :(得分:0)

Gradle 3.2解决了这个问题,这是由于jansi中的这个错误:https://github.com/fusesource/jansi/issues/55