【问题标题】:import org.neo4j cannot be resolved?import org.neo4j 无法解决?
【发布时间】:2020-09-01 15:35:39
【问题描述】:

我对 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>

不幸的是,我无法运行它引发“线程“main”java.lang.Error:未解决的编译问题:在 HelloWorldExample.main(HelloWorldExample.java:46) 中的异常”的代码。此外,当将鼠标悬停在导入行上时,我看到“无法解析导入 org.neo4j”。

有人可以提供这方面的信息吗?

【问题讨论】:

  • 您使用的是什么 IDE?您可能需要刷新您的 Maven 更改。
  • Eclipse Java IDE
  • 您是否在更改后更新 maven? (stackoverflow.com/questions/2555845/…) 有时需要几分钟。
  • 很抱歉,请告诉我如何更新
  • 这将取决于您的 Eclipse 安装,您必须尝试我上面评论的链接中描述的不同方法。或者如果你对 IDE 不挑剔,Intellij 通常会提示用户去做,这样更容易。

标签: java neo4j


【解决方案1】:

作为documented,为了使用neo4j的Java驱动,需要指定合适的依赖:

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

最新的release version是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、artifactId 和 version 值(靠近顶部)。您应该将它们替换为您自己的值(而不是属于 neo4j 的值)。

【讨论】:

  • 添加依赖后还是同样的问题
  • 感谢您的努力和时间。复制上面提到的POM后,代码依旧报错The import org.neo4j cannot be resolve
  • 我再次修改了更新。记得用新的 POM 文件重建。
猜你喜欢
  • 2014-09-19
  • 2013-08-20
  • 2014-07-23
  • 2016-11-12
  • 1970-01-01
  • 2017-05-26
  • 1970-01-01
  • 2014-09-15
  • 1970-01-01
相关资源
最近更新 更多