简体   繁体   English

querydsl在src / main / java中生成Q类

[英]querydsl generate Q classes in src/main/java

I am using querydsl in my spring project and want to generate Q classes at src/main/java/xxx/xxx/model/here . 我在spring项目中使用querydsl,并想在src / main / java / xxx / xxx / model / here生成Q类。 When I write except for src/main/java at my pom.xml, it will work. 当我在pom.xml中编写src / main / java以外的内容时,它将起作用。 But, When I write src/main/java, it will not work.(doesn't generate q classes.) Do you know why? 但是,当我编写src / main / java时,它将不起作用。(不会生成q类。)您知道为什么吗? In src/main/java, there are another classes I wrote. 在src / main / java中,我编写了另一个类。 Is it impossible to generate Q classes at existing place? 在现有场所不可能生成Q类吗?

Here is my pom.xml 这是我的pom.xml

<plugin>
    <groupId>com.mysema.maven</groupId>
    <artifactId>apt-maven-plugin</artifactId>
    <version>1.1.3</version>
    <executions>
        <execution>
            <phase>generate-sources</phase>
            <goals>
                <goal>process</goal>
            </goals>
            <configuration>
                <outputDirectory>src/main/java</outputDirectory>
                <processor>
                    com.querydsl.apt.jpa.JPAAnnotationProcessor
                </processor>
            </configuration>
        </execution>
    </executions>
    <dependencies>
        <dependency>
            <groupId>com.querydsl</groupId>
            <artifactId>querydsl-apt</artifactId>
            <version>${querydsl.version}</version>
        </dependency>
    </dependencies>
</plugin>

You should add the directory path in target like this: 您应该像这样在目标中添加目录路径:

target/generated-sources/java 目标/生成来源/ JAVA

First of all why do you think of generating them in source folder. 首先,您为什么考虑在源文件夹中生成它们。 That way you are complicating your actual codebase. 这样,您会使实际的代码库复杂化。 They are auto generated files. 它们是自动生成的文件。 They are supposed to be as given below 它们应该如下所示

<configuration>
    <outputDirectory>target/generated-sources/querydsl</outputDirectory>
    <processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor>
</configuration>

But if you still need them in src folder , follow steps below. 但是,如果您仍然需要它们在src文件夹中,请按照以下步骤操作。

  1. Disable Project › Build Automatically… 禁用项目›自动构建…
  2. Run Maven goal 'generate-sources', which runs apt-maven-plugin 运行Maven目标“ generate-sources”,该目标运行apt-maven-plugin
  3. Refresh the project in Eclipse, the generated source files are present as expected 在Eclipse中刷新项目,生成的源文件按预期存在
  4. Project › Build Project 项目›建设项目

The folder with generated sources is created. 创建带有生成源的文件夹。

You may look at the class path setting for the project. 您可以查看项目的类路径设置。 Now you can use all Q classes wherever you need. 现在,您可以在任何需要的地方使用所有Q类。

项目建设路径

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM