I'm trying to create a new instance of OrientGraph database, as follows:
OrientGraph graph = new OrientGraph("local:C:/temp/graph/db");
graph.create(); //BUT no create method!!
anyhow, while sticking with the manual and do it with ODatabaseDocumentTx like:
db = new ODatabaseDocumentTx("plocal:c:/orientdb/db");
db.create();
....
db.shutdown();
then I want to get a session like:
OrientGraphFactory factory = new OrientGraphFactory("plocal:c:/orientdb/db", "admin", "admin");
OrientGraphNoTx g = factory.getNoTx();
try
{
}
finally
{
g.shutdown();
}
I got the following exception:
java.lang.IncompatibleClassChangeError: Expected static method com.tinkerpop.blueprints.impls.orient.OrientBaseGraph.checkForGraphSchema(Lcom/orientechnologies/orient/core/db/document/ODatabaseDocumentTx;)
How Can I create a new graph database???
Thank you.
First, you should not use the "local" engine anymore, it is deprecated (your first example). Secondly, the way an OrientGraph must be created is clearly documented, see http://www.orientechnologies.com/docs/last/orientdb.wiki/Graph-Factory.html
The complete example which should work:
@Test
public void testNoTx() {
// start with a non existing database
final OrientGraphFactory factory = new OrientGraphFactory(
"plocal:" + DB_DIR, "admin", "admin");
assertFalse(factory.exists());
try {
OrientGraphNoTx g = factory.getNoTx();
// database is auto created
assertFalse(g.isClosed());
assertFalse(g.isRequireTransaction());
} finally {
// this also closes the OrientGraph instances created by the factory
// Note that OrientGraphFactory does not implement Closeable
factory.close();
}
}
Finally, your reported error indicates a set of inconsistent jar files. You should:
Needed dependencies:
- com.orientechnologies:orientdb-graphdb:jar:2.0-M2:compile
+- com.orientechnologies:orientdb-core:jar:2.0-M2:compile
| +- org.xerial.snappy:snappy-java:jar:1.1.0.1:compile
| +- com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap- lru:jar:1.4:compile
| +- net.java.dev.jna:jna:jar:4.0.0:compile
| \- net.java.dev.jna:jna-platform:jar:4.0.0:compile
\- com.tinkerpop.blueprints:blueprints-core:jar:2.6.0:compile
+- com.fasterxml.jackson.core:jackson-databind:jar:2.2.3:compile
| +- com.fasterxml.jackson.core:jackson-annotations:jar:2.2.3:compile
| \- com.fasterxml.jackson.core:jackson-core:jar:2.2.3:compile
+- com.carrotsearch:hppc:jar:0.6.0:compile
\- commons-configuration:commons-configuration:jar:1.6:compile
+- commons-collections:commons-collections:jar:3.2.1:compile
+- commons-lang:commons-lang:jar:2.4:compile
+- commons-digester:commons-digester:jar:1.8:compile
| \- commons-beanutils:commons-beanutils:jar:1.7.0:compile
\- commons-beanutils:commons-beanutils-core:jar:1.8.0:compile
For a complete example, see https://github.com/rmuller/graphdb-playground (under 'orientdb-embedded-graph')