我刚刚在我的Centos 7 CM上安装了Gradle,使用了sdkman
wget
和GRADLE_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.0
和var dtime sql.NullString
err = rows.Scan(&dtime)
if dtime.Valid {
dtimeString = dtime.String
} else {
dtime = sql.NullString{}
}
似乎工作正常!
答案 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