gpt4 book ai didi

java - OrientDB 'engine ' 远程“未找到”

转载 作者:行者123 更新时间:2023-11-30 02:44:26 27 4
gpt4 key购买 nike

我正在使用社区orientdb 2.2.12。当我在 IntelliJ 中运行该应用程序时,一切正常。但是,当我编译该项目时,出现以下错误:

Caused by: com.orientechnologies.orient.core.exception.OConfigurationException: Error on opening database: the engine 'remote' was not found. URL was: remote:xxxxxx/test1. Registered engines are: [memory, plocal]
DB name="remote:xxxxxx/test1"
at com.orientechnologies.orient.core.Orient.loadStorage(Orient.java:462)
at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.<init>(ODatabaseDocumentTx.java:171)
... 13 more

POM:

        <dependency>
<groupId>com.orientechnologies</groupId>
<artifactId>orientdb-core</artifactId>
<version>${orientdb-version}</version>
</dependency>
<dependency>
<groupId>com.orientechnologies</groupId>
<artifactId>orientdb-graphdb</artifactId>
<version>${orientdb-version}</version>
</dependency>
<dependency>
<groupId>com.tinkerpop.blueprints</groupId>
<artifactId>blueprints-core</artifactId>
<version>2.5.0</version>
</dependency>
<dependency>
<groupId>com.orientechnologies</groupId>
<artifactId>orientdb-client</artifactId>
<version>${orientdb-version}</version>
</dependency>
<dependency>
<groupId>net.java.dev.jna</groupId>
<artifactId>jna-platform</artifactId>
<version>4.0.0</version>
</dependency>
<dependency>
<groupId>net.java.dev.jna</groupId>
<artifactId>jna</artifactId>
<version>4.2.0</version>
</dependency>
<dependency>
<groupId>com.googlecode.concurrentlinkedhashmap</groupId>
<artifactId>concurrentlinkedhashmap-lru</artifactId>
<version>1.4.2</version>
</dependency>

我检查了 Shaded JAR,它包含所有 orientdb-client-*

抛出异常的代码:

public OrientGraphFactory factory() {

final int THREADS = Runtime.getRuntime().availableProcessors() + 1;

return new OrientGraphFactory(
AppConfig.getDatabaseConnectionString(),
AppConfig.getDatabaseUsername(),
AppConfig.getDatabaseSecret()).setupPool(THREADS, THREADS + 10);

}

最佳答案

AFAIU,您正在尝试使用您的应用程序代码和 OrientDB 代码构建 uberJar。要包含正确的依赖项,我的建议是从发行版 pom.xml 复制列表:

https://github.com/orientechnologies/orientdb/blob/master/distribution/pom.xml

为什么它在 IntelliJ 中有效?嗯,IDE,甚至 Eclipse,都有一个类路径,其中包括测试源和测试 jar。当你使用maven构建时,它有一个“测试”类路径,与idea中的相同,以及一个没有测试jar的运行时类路径(并且没有测试jar的传递依赖!!!)。

关于远程连接,您需要一个运行的独立 OrientDB 服务器来连接,或者至少您的应用程序应该运行一个嵌入式服务器。

希望这有帮助。

关于java - OrientDB 'engine ' 远程“未找到”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40620229/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com