尝试使用JPype调用Java类(Neo4j)时会出现很多错误(异常)

尝试使用JPype调用Java类(Neo4j)时会出现很多错误(异常),java,python,neo4j,jpype,Java,Python,Neo4j,Jpype,我尝试使用Java和Python桥JPype,但也尝试使用Neo4j,它是一个图形数据库。当我尝试用JPYPE运行一个简单的Java程序时,没有问题 import jpype as jp jp.startJVM(jp.getDefaultJVMPath(), "-ea") javaClass = jp.JClass('Jpype_test.A2') javaInstance = javaClass() javaInstance.callMe(2, 3) jp.shutdownJVM() Ja

我尝试使用Java和Python桥JPype,但也尝试使用Neo4j,它是一个图形数据库。当我尝试用JPYPE运行一个简单的Java程序时,没有问题

import jpype as jp

jp.startJVM(jp.getDefaultJVMPath(), "-ea")
javaClass = jp.JClass('Jpype_test.A2')
javaInstance = javaClass()
javaInstance.callMe(2, 3)
jp.shutdownJVM()
Java中的类只是:

package Jpype_test;

import helloworld.EmbeddedNeo4j;

import java.io.IOException;

public class A2 {
    public A2() {
        super();

    }

    public String callMe(final int a, final int b) throws IOException {
        final int res = Math.abs(a - b);
        try {
            EmbeddedNeo4j.main(null);
        } finally {
            System.out.println("I can't do this!");
        }

        return ("Hello, World!" + res);
    }
}
但是,当我尝试运行同一个HelloWorld程序(包括Neo4j)时,会出现很多错误,我真的不明白我做错了什么

package helloworld;

import java.io.File;
import java.io.IOException;

import org.neo4j.graphdb.Direction;
import org.neo4j.graphdb.GraphDatabaseService;
import org.neo4j.graphdb.Node;
import org.neo4j.graphdb.Relationship;
import org.neo4j.graphdb.RelationshipType;
import org.neo4j.graphdb.Transaction;
import org.neo4j.graphdb.factory.GraphDatabaseFactory;
import org.neo4j.io.fs.FileUtils;

public class helloworld {

private static final String db_path = "target/neo4j-hello-db";

public String greeting;

GraphDatabaseService graphdb;
Node firstNode;
Node secondNode;
Relationship rs;

private static enum RelTypes implements RelationshipType {
    KNOWS
}

public static void main(final String[] args) throws IOException {
    final helloworld hello = new helloworld();
    hello.createDb();
    hello.removeData();
    hello.shutDown();

}

void createDb() throws IOException {
    FileUtils.deleteRecursively(new File(db_path));
    graphdb = new GraphDatabaseFactory().newEmbeddedDatabase(db_path);
    registerShutdownHook(graphdb);

    try (Transaction tx = graphdb.beginTx()) {
        firstNode = graphdb.createNode();
        firstNode.setProperty("message", "Hello, ");
        secondNode = graphdb.createNode();
        secondNode.setProperty("message", "World!");

        rs = firstNode.createRelationshipTo(secondNode, RelTypes.KNOWS);
        rs.setProperty("message", "brave Neo");

        System.out.println(firstNode.getProperty("message"));
        System.out.println(rs.getProperty("message"));
        System.out.println(secondNode.getProperty("message"));

        greeting = ((String) firstNode.getProperty("message")) + ((String) rs.getProperty("message"))
                + ((String) secondNode.getProperty("message"));

        tx.success();

    }
}

void removeData() {
    try (Transaction tx = graphdb.beginTx()) {
        firstNode.getSingleRelationship(RelTypes.KNOWS, Direction.OUTGOING).delete();
        firstNode.delete();
        secondNode.delete();

        tx.success();
    }
}

void shutDown() {
    System.out.println();
    System.out.println("Shutting down database......");
    graphdb.shutdown();
}

private static void registerShutdownHook(final GraphDatabaseService graphdb) {
    Runtime.getRuntime().addShutdownHook(new Thread() {
        @Override
        public void run() {
            graphdb.shutdown();
        }
    });
}
}

我想classpath或类似的东西可能会有问题,但对我来说它看起来很奇怪。。如果有人能帮助解决这个问题,那就太感谢了

异常状态为:未找到helloworld.Hello类。您的类实际上名为helloworld.helloworld。因此,请确保调用了正确的类名,或者更改类名,使其为helloworld.Hello

>> Traceback (most recent call last):
    File "C:\Projects\Argon\workspace\TestNeo4jProject\src\helloworld\file.py",   line 6, in <module>
    javaClass = jp.JClass('helloworld.Hello')
  File "C:\Python27\lib\site-packages\jpype\_jclass.py", line 54, in JClass
    raise _RUNTIMEEXCEPTION.PYEXC("Class %s not found" % name)
jpype._jexception.ExceptionPyRaisable: java.lang.Exception: Class helloworld.Hello not found