import org.neo4j无法解决?

问题描述 投票:0回答:1

我对Neo4j很陌生,我想开始在Java应用程序中嵌入Neo4j。我尝试运行一个HelloWorld应用程序,如下所示。

import org.neo4j.driver.AuthTokens;
import org.neo4j.driver.Driver;
import org.neo4j.driver.GraphDatabase;
import org.neo4j.driver.Session;
import org.neo4j.driver.Result;
import org.neo4j.driver.Transaction;
import org.neo4j.driver.TransactionWork;

import static org.neo4j.driver.Values.parameters;

public class HelloWorldExample implements AutoCloseable
{
    private final Driver driver;
public HelloWorldExample( String uri, String user, String password )
{
    driver = GraphDatabase.driver( uri, AuthTokens.basic( user, password ) );
}

@Override
public void close() throws Exception
{
    driver.close();
}

public void printGreeting( final String message )
{
    try ( Session session = driver.session() )
    {
        String greeting = session.writeTransaction( new TransactionWork<String>()
        {
            @Override
            public String execute( Transaction tx )
            {
                Result result = tx.run( "CREATE (a:Greeting) " +
                                                 "SET a.message = $message " +
                                                 "RETURN a.message + ', from node ' + id(a)",
                        parameters( "message", message ) );
                return result.single().get( 0 ).asString();
            }
        } );
        System.out.println( greeting );
    }
}

public static void main( String... args ) throws Exception
{
    try ( HelloWorldExample greeter = new HelloWorldExample( "bolt://localhost:7687", "neo4j", "password" ) )
    {
        greeter.printGreeting( "hello, world" );
    }
}

}

Pom代码如下。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.neo4j.driver</groupId>
<artifactId>neo4j-java-driver</artifactId>
<version>4.0.1</version>
  <name>neo4jtest</name>
   <build>
    <plugins>
        <plugin>
            <groupId>1</groupId>
            <artifactId>2</artifactId>
            <version>3.2</version>
            <configuration>
            <source>1.6</source>
            <target>1.6</target>
            </configuration>
        </plugin>
    </plugins>
   </build>
<dependencyManagement>
    <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.neo4j</groupId>
      <artifactId>neo4j-ogm-core</artifactId>
      <version>3.1.2</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.neo4j</groupId>
      <artifactId>neo4j-ogm-bolt-driver</artifactId>
      <version>3.1.2</version>
      <scope>runtime</scope>
    </dependency>
  </dependencies>
  </dependencyManagement>
</project>

不幸的是,我无法运行这段代码,它引发了 "Exception in thread "main" java.lang.Error.未解决的编译问题:在HelloWorldExample.main(HelloWorldExample.java:46)"。Unresolved compilation problem: at HelloWorldExample.main(HelloWorldExample.java:46)"。此外,当我将鼠标悬停在导入行上时,我看到 "import org.neo4j cannot be resolved"。

谁能提供这方面的信息?

java neo4j
1个回答
2
投票

作为 有据可查为了使用 neo4j 的 Java 驱动程序,您需要指定相应的依赖关系。

<dependency>
    <groupId>org.neo4j.driver</groupId>
    <artifactId>neo4j-java-driver</artifactId>
    <version>x.y.z</version>
</dependency>

最新的 发行版4.0.1.

[更新]

另外,你的 pom.xml 文件有很多其他问题。试试这样的例子吧。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.example</groupId>
    <artifactId>helloworld</artifactId>
    <version>1</version>
    <name>neo4jtest</name>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>8</source>
                    <target>8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <dependencies>
        <dependency>
            <groupId>org.neo4j.driver</groupId>
            <artifactId>neo4j-java-driver</artifactId>
            <version>4.0.1</version>
        </dependency>
    </dependencies>

</project>

这个POM文件使用了一些虚拟的 groupId, artifactIdversion 的值(靠近顶部)。你应该用你自己的值来代替它们(不是属于neo4j的值)。

© www.soinside.com 2019 - 2024. All rights reserved.