【问题标题】:querydsl generate Q classes in src/main/javaquerydsl 在 src/main/java 中生成 Q 类
【发布时间】:2017-03-23 18:20:08
【问题描述】:

我在我的 spring 项目中使用 querydsl 并希望在 src/main/java/xxx/xxx/model/here 生成 Q 类。当我在 pom.xml 中编写除 src/main/java 之外的内容时,它会起作用。但是,当我写 src/main/java 时,它不会工作。(不生成 q 类。)你知道为什么吗?在 src/main/java 中,还有我写的另一个类。现有的地方不能生成Q类吗?

这是我的 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>

【问题讨论】:

    标签: java spring maven querydsl


    【解决方案1】:

    你应该像这样在目标中添加目录路径:

    目标/生成源/java

    【讨论】:

    • 那么如何在目标目录中使用 Q 类?我必须配置类路径吗?
    【解决方案2】:

    首先,您为什么要在源文件夹中生成它们。这样你就使你的实际代码库复杂化了。它们是自动生成的文件。 它们应该如下所示

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

    但如果您仍然需要它们在 src 文件夹中,请按照以下步骤操作。

    1. 禁用项目 › 自动构建...
    2. 运行 Maven 目标“generate-sources”,该目标运行 apt-maven-plugin
    3. 在 Eclipse 中刷新项目,生成的源文件按预期呈现
    4. 项目 › 构建项目

    已创建包含生成源的文件夹。

    您可以查看项目的类路径设置。现在您可以在任何需要的地方使用所有 Q 类。

    【讨论】:

      猜你喜欢
      • 2019-03-25
      • 1970-01-01
      • 2012-12-06
      • 2021-07-31
      • 1970-01-01
      • 2014-09-14
      • 1970-01-01
      • 1970-01-01
      • 2018-03-01
      相关资源
      最近更新 更多