gpt4 book ai didi

java - mysema 的 Maven apt-get-plugin

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:56:54 25 4
gpt4 key购买 nike

我在 pom.xml 中添加了以下代码片段,但在 eclipse 中执行部分出错:

Plugin execution not covered by lifecycle configuration: com.mysema.maven:maven-apt-plugin:1.0.3:process (execution: default, phase: generate-sources)

虽然当我从命令行运行 mvn clean install 时它工作正常。

<build>
<plugins>
<plugin>
<groupId>com.mysema.maven</groupId>
<artifactId>maven-apt-plugin</artifactId>
<version>1.0.3</version>
<executions>
<execution>
<goals>
<goal>process</goal>
</goals>
<phase>generate-sources</phase>
<configuration>
<outputDirectory>${project.basedir}/target/generated-sources/java</outputDirectory>
<processor>com.mysema.query.apt.jpa.JPAAnnotationProcessor</processor>
<processors>
<processor>com.mysema.query.apt.jpa.JPAAnnotationProcessor</processor>
</processors>
<showWarnings>true</showWarnings>
</configuration>
</execution>
</executions>
</plugin>

从命令行运行后,它生成查询 dsl 类 (QClasses),但从 eclipse 中它不生成它们。

此外,当我从 eclipse 运行我的应用程序时,它会出现以下错误:

Caused by: java.lang.ClassNotFoundException: xxx.QClass

eclipse maven 插件有问题吗?我该如何解决这个问题?

最佳答案

如果您只需要从 JPA 实体类生成 Q 类,另一种可能的解决方案是使用 querydsl-apt 的分类器,例如:

<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-apt</artifactId>
<version>${querydsl.version}</version>
<classifier>jpa</classifier>
</dependency>

如果使用 Jakarta Persistence(Spring 6+):

<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-apt</artifactId>
<version>${querydsl.version}</version>
<classifier>jakarta</classifier>
</dependency>

在那种情况下,您根本不需要手动 apt-maven-plugin 构建配置。

编辑:如果您要迁移到 Java EE 9,分类器应该是 jakarta

关于java - mysema 的 Maven apt-get-plugin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17865691/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com