首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当cassandra单元测试在Jenkins上运行但在本地工作时的ExceptionInInitializerError

当cassandra单元测试在Jenkins上运行但在本地工作时的ExceptionInInitializerError
EN

Stack Overflow用户
提问于 2019-07-25 23:20:21
回答 1查看 548关注 0票数 1

Cassandra单元测试可以在本地运行,但不能在jenkins上运行。

编辑:我有多个poms,如果我在整个项目上运行clean包,我会得到相同的错误。这是由于不同的目标映射吗?一个cassandra.yaml在测试类中,一个在embeddedCassandra中,另一个在项目底部的目标文件夹中,在另一个嵌入式cassandra文件夹中。

使用cu-cassandra.yaml启动cassandra会导致相同的错误。

cassandra yaml文件位于资源中

代码语言:javascript
复制
System.setProperty("cassandra.config", yamlUrl);
EmbeddedCassandraServerHelper.startEmbeddedCassandra("cassandra.yaml");


java.lang.ExceptionInInitializerError: null
    at org.apache.cassandra.config.YamlConfigurationLoader.getStorageConfigURL(YamlConfigurationLoader.java:80)
    at org.apache.cassandra.config.YamlConfigurationLoader.<clinit>(YamlConfigurationLoader.java:94)
    at org.apache.cassandra.config.DatabaseDescriptor.loadConfig(DatabaseDescriptor.java:138)
    at org.apache.cassandra.config.DatabaseDescriptor.<clinit>(DatabaseDescriptor.java:125)
    at org.cassandraunit.utils.EmbeddedCassandraServerHelper.mkdirs(EmbeddedCassandraServerHelper.java:349)
    at org.cassandraunit.utils.EmbeddedCassandraServerHelper.cleanupAndLeaveDirs(EmbeddedCassandraServerHelper.java:321)
    at org.cassandraunit.utils.EmbeddedCassandraServerHelper.startEmbeddedCassandra(EmbeddedCassandraServerHelper.java:122)
    at org.cassandraunit.utils.EmbeddedCassandraServerHelper.startEmbeddedCassandra(EmbeddedCassandraServerHelper.java:91)
    at org.cassandraunit.utils.EmbeddedCassandraServerHelper.startEmbeddedCassandra(EmbeddedCassandraServerHelper.java:70)
    at org.cassandraunit.utils.EmbeddedCassandraServerHelper.startEmbeddedCassandra(EmbeddedCassandraServerHelper.java:66)
    at com.something.connector.HttpConnectorTest.beforeTest(HttpConnectorTest.java:59)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-02 16:40:30

这对我设置非默认的临时文件夹和设置cassandra.config很有效

代码语言:javascript
复制
String folderPath = System.getProperty("user.dir");
        String fileSeparator = System.getProperty("file.separator");
        String path = folderPath + fileSeparator + "target" + fileSeparator + "httpconnector" + fileSeparator
                + "embeddedCassandra";
        URL url = HttpConnectorTest.class.getResource("/cassandra.yaml");
        System.setProperty("cassandra.config", url.toString());

    try {
        EmbeddedCassandraServerHelper.startEmbeddedCassandra("cassandra.yaml", path, 100000);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57205410

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档