在Docker容器中执行'./gradlew build installDist --info'时,Gradle构建失败 [英] Gradle build fails while executing './gradlew build installDist --info' inside docker container

查看:1510
本文介绍了在Docker容器中执行'./gradlew build installDist --info'时,Gradle构建失败的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我已经安装了 git java-1.8.0-openjdk-devel



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



已更改目录到 incubator-geode



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



这给出了一个错误:
FAILURE:构建失败,出现异常。

 出错:
任务':gemfire-core:test'的执行失败。
>有失败的测试。请参阅以下文件:file:/// incubator- geode / gemfire-core / build / reports / test / index.html

*尝试:
使用--stacktrace选项运行以获取堆栈跟踪。使用--debug选项运行以获取更多日志输出。

BUILD FAILED

文件index.html包含以下内容:

  com.gemstone.gemfire.internal.compression.SnappyCompressorJUnitTest> testCompressByteArray FAILED 
java.lang.IllegalStateException:无法加载本机Snappy库。
。在com.gemstone.gemfire.compression.SnappyCompressor<初始化>(SnappyCompressor.java:51)
。在com.gemstone.gemfire.compression.SnappyCompressor.getDefaultInstance(SnappyCompressor.java:67)$
org.xerial.snappy.SnappyError:在com.gemstone.gemfire.internal.compression.SnappyCompressorJUnitTest.testCompressByteArray(SnappyCompressorJUnitTest.java:34)b

$ b。通过致[FAILED_TO_LOAD_NATIVE_LIBRARY]没有为os.name = Linux和os.arch = s390x
找到原生库,位于org.xerial.snappy.SnappyLoader.findNativeLibrary(SnappyLoader.java:299)
在org.xerial.snappy.SnappyLoader .loadNativeLibrary(SnappyLoader.java:163)
at org.xerial.snappy.SnappyLoader.load(SnappyLoader.java:145)
at org.xerial.snappy.Snappy。< clinit>(Snappy。 < init>(SnappyCompressor.java:48)
... 2 more

com.gemstone .gemfire.int ernal.compression.SnappyCompressorJUnitTest> testConstructor FAILED
java.lang.NoClassDefFoundError:在com.gemstone.gemfire.compression.SnappyCompressor无法初始化类org.xerial.snappy.Snappy
将INIT>(SnappyCompressor.java:48)$在com.gemstone.gemfire.compression.SnappyCompressor.getDefaultInstance(SnappyCompressor.java:67)b
$ b。在com.gemstone.gemfire.internal.compression.SnappyCompressorJUnitTest.testConstructor(SnappyCompressorJUnitTest.java:45)

com.gemstone.gemfire.cache.AttributesFactoryJUnitTest> testInvalidConfigurations FAILED
java.lang.NoClassDefFoundError:在com.gemstone.gemfire.compression.SnappyCompressor无法初始化类org.xerial.snappy.Snappy
将INIT>(SnappyCompressor.java:48)$在com.gemstone.gemfire.compression.SnappyCompressor.getDefaultInstance(SnappyCompressor.java:67)b
$ b。在com.gemstone.gemfire.cache.AttributesFactoryJUnitTest.testInvalidConfigurations(AttributesFactoryJUnitTest.java:214)

有什么想法?

解决方案

我会尝试做的第一件事是在Docker容器中本地运行命令。通过使用docker run运行容器并将--endpoint / bin / bash添加到运行行来执行此操作。 此处有一些示例。这将使您能够在本地执行gradlew命令并查看输出结果。



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


I have created docker container on SLES 12.

I have installed git and java-1.8.0-openjdk-devel.

Clone the master branch of https://github.com/apache/incubator-geode.git

Changed directory to incubator-geode

And then executed ./gradlew build installDist --info

This gives an error saying: FAILURE: Build failed with an exception.

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

The file index.html has following:

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)

Any idea?

解决方案

The first thing that I would try to do is to run the command locally in the docker container. You do this by running the container using docker run and adding the "--endpoint /bin/bash" to the run line. There are some examples here. This will enable you to do the gradlew command locally and see what the output is.

I'm presuming that it has something to do with the JAVA_HOME not being set or that Java is not in the path.

这篇关于在Docker容器中执行'./gradlew build installDist --info'时,Gradle构建失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆