Arr*_*rry 3 java eclipse-plugin m2eclipse querydsl
我在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)
Run Code Online (Sandbox Code Playgroud)
虽然当我从命令行运行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>
Run Code Online (Sandbox Code Playgroud)
从命令行运行后,它会生成查询dsl类(QClasses),但是从eclipse中不会生成它们。
另外,当我从eclipse运行我的应用程序时,它给出以下错误:
Caused by: java.lang.ClassNotFoundException: xxx.QClass
Run Code Online (Sandbox Code Playgroud)
Eclipse Maven插件有问题吗?我该如何解决?
如果仅需要从JPA实体类生成Q类,则另一种可能的解决方案是对querydsl-apt使用分类器,例如:
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-apt</artifactId>
<version>${querydsl.version}</version>
<classifier>jpa</classifier>
</dependency>
Run Code Online (Sandbox Code Playgroud)
在这种情况下,您完全不需要手动apt-maven-plugin构建配置。