在docker容器中执行'./gradlew build installDist --info'时,Gradle构建失败

时间:2015-07-09 05:00:56

标签: gradle docker

我在SLES 12上创建了docker容器。

我已安装gitjava-1.8.0-openjdk-devel

克隆https://github.com/apache/incubator-geode.git

的主分支

将目录更改为incubator-geode

然后执行./gradlew build installDist --info

这会出错:     FAILURE:构建因异常而失败。

What went wrong:
Execution failed for task ':gemfire-core:test'.
> There were failing tests. See the report at: file:///incubator-    geode/gemfire-core/build/reports/test/index.html

* Try:
Run with --stacktrace option to get the stack trace. Run with --debug option to get more log output.

BUILD FAILED

文件index.html有以下内容:

com.gemstone.gemfire.internal.compression.SnappyCompressorJUnitTest > testCompressByteArray FAILED
java.lang.IllegalStateException: Unable to load native Snappy library.
    at com.gemstone.gemfire.compression.SnappyCompressor.<init>(SnappyCompressor.java:51)
    at com.gemstone.gemfire.compression.SnappyCompressor.getDefaultInstance(SnappyCompressor.java:67)
    at com.gemstone.gemfire.internal.compression.SnappyCompressorJUnitTest.testCompressByteArray(SnappyCompressorJUnitTest.java:34)

    Caused by:
    org.xerial.snappy.SnappyError: [FAILED_TO_LOAD_NATIVE_LIBRARY] no native library is found for os.name=Linux and os.arch=s390x
        at org.xerial.snappy.SnappyLoader.findNativeLibrary(SnappyLoader.java:299)
        at org.xerial.snappy.SnappyLoader.loadNativeLibrary(SnappyLoader.java:163)
        at org.xerial.snappy.SnappyLoader.load(SnappyLoader.java:145)
        at org.xerial.snappy.Snappy.<clinit>(Snappy.java:47)
        at com.gemstone.gemfire.compression.SnappyCompressor.<init>(SnappyCompressor.java:48)
        ... 2 more

       com.gemstone.gemfire.internal.compression.SnappyCompressorJUnitTest > testConstructor FAILED
java.lang.NoClassDefFoundError: Could not initialize class org.xerial.snappy.Snappy
    at com.gemstone.gemfire.compression.SnappyCompressor.<init>(SnappyCompressor.java:48)
    at com.gemstone.gemfire.compression.SnappyCompressor.getDefaultInstance(SnappyCompressor.java:67)
    at com.gemstone.gemfire.internal.compression.SnappyCompressorJUnitTest.testConstructor(SnappyCompressorJUnitTest.java:45)

      com.gemstone.gemfire.cache.AttributesFactoryJUnitTest > testInvalidConfigurations FAILED
java.lang.NoClassDefFoundError: Could not initialize class org.xerial.snappy.Snappy
    at com.gemstone.gemfire.compression.SnappyCompressor.<init>(SnappyCompressor.java:48)
    at com.gemstone.gemfire.compression.SnappyCompressor.getDefaultInstance(SnappyCompressor.java:67)
    at com.gemstone.gemfire.cache.AttributesFactoryJUnitTest.testInvalidConfigurations(AttributesFactoryJUnitTest.java:214)

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我要做的第一件事就是在docker容器中本地运行命令。您可以通过使用docker run运行容器并添加&#34; - endpoint / bin / bash&#34;来实现此目的。到跑道。有一些例子here。这将使您能够在本地执行gradlew命令并查看输出结果。

我假设它与未设置的JAVA_HOME或Java不在路径中有关。