Cassandra源代码配置Cassandra.config中的异常预期URI找到了Cassandra.yaml
对于我的硕士论文,我必须修改卡桑德拉的源代码。因此,正如所建议的,我使用git克隆,然后运行ant,一切看起来都很好(我成功地构建了项目,没有任何错误),但是当我运行unitTests(cassandra/test)时,我有一个奇怪的错误:Cassandra源代码配置Cassandra.config中的异常预期URI找到了Cassandra.yaml,cassandra,config,Cassandra,Config,对于我的硕士论文,我必须修改卡桑德拉的源代码。因此,正如所建议的,我使用git克隆,然后运行ant,一切看起来都很好(我成功地构建了项目,没有任何错误),但是当我运行unitTests(cassandra/test)时,我有一个奇怪的错误: org.apache.cassandra.exceptions.ConfigurationException: Expecting URI in variable: [cassandra.config]. Found[cassandra.ya
org.apache.cassandra.exceptions.ConfigurationException:
Expecting URI in variable: [cassandra.config].
Found[cassandra.yaml].
Please prefix the file with [file:\\\] for local files and
[file:\\<server>\] for remote files.
If you are executing this from an external tool, it needs
to set Config.setClientMode(true) to avoid loading configuration.
at org.apache.cassandra.config.YamlConfigurationLoader.getStorageConfigURL(YamlConfigurationLoader.java:80)
at org.apache.cassandra.config.YamlConfigurationLoader.loadConfig(YamlConfigurationLoader.java:100)
at org.apache.cassandra.config.DatabaseDescriptor.loadConfig(DatabaseDescriptor.java:252)
at org.apache.cassandra.config.DatabaseDescriptor.daemonInitialization(DatabaseDescriptor.java:131)
at org.apache.cassandra.auth.jmx.AuthorizationProxyTest.setup(AuthorizationProxyTest.java:48)"
org.apache.cassandra.exceptions.ConfigurationException:
变量[cassandra.config]中应为URI。
找到[cassandra.yaml]。
请在文件前面加上[文件:\\\]作为本地文件和
[文件:\\]用于远程文件。
如果您是从外部工具执行此操作,则需要
设置Config.setClientMode(true)以避免加载配置。
位于org.apache.cassandra.config.YamlConfigurationLoader.getStorageConfigURL(YamlConfigurationLoader.java:80)
位于org.apache.cassandra.config.YamlConfigurationLoader.loadConfig(YamlConfigurationLoader.java:100)
位于org.apache.cassandra.config.DatabaseDescriptor.loadConfig(DatabaseDescriptor.java:252)
位于org.apache.cassandra.config.DatabaseDescriptor.daeminitialization(DatabaseDescriptor.java:131)
位于org.apache.cassandra.auth.jmx.AuthorizationProxyTest.setup(AuthorizationProxyTest.java:48)”
我想用unitTests测试我对源代码的修改(因为我没有找到任何关于如何在Windows上从源代码设置cassandra的教程,所以如果你有,我希望有一个链接^^),但我没有找到这个bug的任何解决方案:(.有人知道这个问题的解决方案吗
我正在使用IntelliJ在Windows 10上工作,我已将Jdk和ant更新到最新版本。我也面临同样的问题。这些变量(“cassandra.config”、“cassandra.storagedir”等…)是系统变量 您可以通过执行以下操作在代码中设置它们:
System.setProperty(“cassandra.config”file:////cassandra.yaml");
您还可以在运行jar文件时设置它们:
java-Dcassandra.config=file:////cassandra.yaml -罐子
最好的
Shabir在JDK1.8中启动一个新进程,并在其中启动嵌入式cassandra。然后在java版本中运行junit。我在jdk11升级时遇到了类似的isue。现在我解决了这个问题
import org.cassandraunit.utils.EmbeddedCassandraServerHelper;
导入org.springframework.boot.autoconfigure.springboot应用程序
@SpringBootApplication
public class EmbeddedCassandraApplication {
public static void main(String[] args) throws Exception {
EmbeddedCassandraServerHelper.startEmbeddedCassandra("cassandra-test.yaml");
}
}
为什么这个错误很奇怪,对我来说这似乎是一个非常正常的错误消息。你做了消息告诉你要做的事情了吗?当你这样做时发生了什么?请用相关信息更新你的帖子,欢迎使用。我没有向代码添加任何内容,所以conf子文件夹中有一个cassandra.yaml(在测试中),但我甚至不知道cassandra.config变量在哪里实例化,所以我不知道应该在哪里添加文件:\\\\。