Estoy usando querydsl en mi proyecto de primavera y quiero generar clases Q en src/main/java/xxx/xxx/model/here. Cuando escribo excepto src/main/java en mi pom.xml, funcionará. Pero, cuando escribo src/main/java, no funcionará (no genera q clases). ¿Sabes por qué? En src/main/java, hay otras clases que escribí. ¿Es imposible generar clases Q en el lugar existente?
Aquí está mi 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>Debe agregar la ruta del directorio en el destino de esta manera:
destino/fuentes-generadas/java
En primer lugar, ¿por qué piensa generarlos en la carpeta de origen? De esa manera, está complicando su base de código real. Son archivos generados automáticamente. Se supone que son como se indica a continuación.
<configuration> <outputDirectory>target/generated-sources/querydsl</outputDirectory> <processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor> </configuration>Pero si aún los necesita en la carpeta src, siga los pasos a continuación.
Se crea la carpeta con las fuentes generadas.
Puede mirar la configuración de ruta de clase para el proyecto. Ahora puede usar todas las clases de Q donde lo necesite.