2016-09-21 53 views
1

我只是在我的Centos 7 CM安裝搖籃任何命令,無論是使用sdkmanwgetOffical Gradle website搖籃3.1給出了錯誤:「構建失敗,出現異常,無法初始化一流」爲

我還設置的建議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. 

去錯了請告訴我?

UPDATE 安裝gradle-2.14.1gradle-3.0似乎好工作!

回答

1

列出的第一個解決方案是使工作的一種方式,但我懷疑安裝NOEXEC原來的人可能有自己的/ tmp目錄,如果是這樣的話,那麼就不是那麼激烈的解決方案。

的臨時解決方法(如果使用的是包裝腳本)是改變gradlew包括本或類似的東西,以便jansi .so文件被提取到一些臨時的位置,是安裝NOEXEC:

DEFAULT_JVM_OPTS =「 - Dlibrary.jansi.path = $ {HOME} /。gradle」

順便說一句,您不能將此值插入到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。

+0

我的問題是我在臨時文件夾上有'noexec' –

0

檢查您的系統以確保您的磁盤上有可用空間 - 我有這個確切的錯誤,然後意識到我的磁盤已滿。

釋放一些空間後,Gradle 3.1開始無誤地重新工作。

相關問題