Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Neo4j Cypher QueryDSL:&x27;我的";Q";无法解析类';编译错误(例如QPerson)_Neo4j_Cypher_Spring Data Neo4j_Querydsl - Fatal编程技术网

Neo4j Cypher QueryDSL:&x27;我的";Q";无法解析类';编译错误(例如QPerson)

Neo4j Cypher QueryDSL:&x27;我的";Q";无法解析类';编译错误(例如QPerson),neo4j,cypher,spring-data-neo4j,querydsl,Neo4j,Cypher,Spring Data Neo4j,Querydsl,我正在尝试学习如何将Neo4j密码与QueryDSL一起使用。因此,我从下载了源代码,并将该项目作为Maven项目导入eclipse中。然而,当我试图编译和运行测试时,我得到了一系列错误,一个Q{Something}类无法解决,例如: QPerson cannot be resolved to a type 以下是一个屏幕截图: 我忘记配置什么了吗?我找不到任何关于它的教程或任何说明我需要做任何特别的事情 怎么了 谢谢 这些“Q”文件需要由QueryDSL生成。“maven apt插件”解决

我正在尝试学习如何将Neo4j密码与QueryDSL一起使用。因此,我从下载了源代码,并将该项目作为Maven项目导入eclipse中。然而,当我试图编译和运行测试时,我得到了一系列错误,一个Q{Something}类无法解决,例如:

QPerson cannot be resolved to a type
以下是一个屏幕截图:

我忘记配置什么了吗?我找不到任何关于它的教程或任何说明我需要做任何特别的事情

怎么了

谢谢

这些“Q”文件需要由QueryDSL生成。“maven apt插件”解决了这个问题。下面的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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.github.timmystorms</groupId>
    <artifactId>neo4j-querydsl</artifactId>
    <version>0.0.1-SNAPSHOT</version>

    <build>
        <plugins>
            <plugin>
                <groupId>com.mysema.maven</groupId>
                <artifactId>maven-apt-plugin</artifactId>
                <version>1.0.4</version>
                <configuration>
                    <processor>com.mysema.query.apt.QuerydslAnnotationProcessor</processor>
                </configuration>
                <executions>
                    <execution>
                        <id>sources</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>process</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>src/main/java</outputDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.eclipse.m2e</groupId>
                    <artifactId>lifecycle-mapping</artifactId>
                    <version>1.0.0</version>
                    <configuration>
                        <lifecycleMappingMetadata>
                            <pluginExecutions>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>com.mysema.maven</groupId>
                                        <artifactId>maven-apt-plugin</artifactId>
                                        <versionRange>[1.0.2,)</versionRange>
                                        <goals>
                                            <goal>process</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <execute />
                                    </action>
                                </pluginExecution>
                            </pluginExecutions>
                        </lifecycleMappingMetadata>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

    <dependencies>
        <dependency>
            <groupId>org.neo4j</groupId>
            <artifactId>neo4j</artifactId>
            <version>1.9.RC1</version>
        </dependency>
        <dependency>
            <groupId>org.neo4j</groupId>
            <artifactId>neo4j-cypher-dsl</artifactId>
            <version>1.9.M04</version>
        </dependency>
        <dependency>
            <groupId>com.mysema.querydsl</groupId>
            <artifactId>querydsl-core</artifactId>
            <version>2.8.0</version>
        </dependency>
        <dependency>
            <groupId>com.mysema.querydsl</groupId>
            <artifactId>querydsl-apt</artifactId>
            <version>2.8.0</version>
        </dependency>
        <dependency>
            <groupId>com.mysema.querydsl</groupId>
            <artifactId>querydsl-lucene</artifactId>
            <version>2.8.0</version>
            <exclusions>
                <exclusion>
                    <groupId>org.apache.lucene</groupId>
                    <artifactId>lucene-core</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <!-- Optional test dependencies -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

</project>

4.0.0
com.github.timmystorms
这将测试此设置。只需使用您的代码进行构建,例如
mvn clean install


编辑:由于maven apt插件需要tools.jar,因此在构建时请确保指向JDK而不是JRE。

您好,谢谢您的回答。我试图在上面的链接中学习您的示例,并使用链接中提到的pom.xml文件和两个类(Person和PersonTest)创建了一个新的maven项目。首先,我在pom.xml文件中得到了以下错误:
缺少工件org.neo4j:neo4j cypher dsl:jar:1.9.M04
所以我将依赖项更改为neo4j cypher dsl版本1.7,因为这是我发现的最新版本。在修复pom文件后,我仍然会出错,可能是我的eclipse配置不正确?我已经在Gist中将Neo4j存储库添加到pom中。再次使用neo4j cypher dsl 1.9.M04,因为1.7太旧了。此外,似乎需要刷新项目(F5)才能显示生成的类。这应该在您运行
mvn clean install
后完成。让我们来看看