我们有一个相当大的项目,使用maven,spring boot,querydsl,lombok。
我有2个分支,两个版本均成功编译。 (mvn clean compile
)但是,合并后,构建失败,所有这些编译器错误似乎都无法正确运行lombok-错误类似于cannot find symbol [ERROR] symbol: variable log
,其@ Sl4j或cannot find getXyz()
生成的日志具有@Getter的类实例。
我什至不知道从哪里开始,所以关于如何解决该错误的任何提示都很棒。当然,您还需要什么进一步的信息?
编辑 感谢到目前为止的提示,我现在尝试调整pom.xml配置,以便由maven-compiler-plugin的注解ProcessorPaths触发lombok- 我新的pom.xml /插件配置为:
<build>
<pluginManagement>
<plugins>
<!-- maven dependancy update management plugins-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.0.0-M2</version>
<executions>
<execution>
<id>enforce-maven</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireMavenVersion>
<version>3.0.5</version>
</requireMavenVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>2.7</version>
<configuration>
<excludes>
<exclude>org.apache.commons:commons-collections4</exclude>
</excludes>
</configuration>
</plugin>
<!--querydsl configuration-->
<plugin>
<groupId>com.mysema.maven</groupId>
<artifactId>apt-maven-plugin</artifactId>
<version>1.1.3</version>
<executions>
<execution>
<goals>
<goal>process</goal>
</goals>
<configuration>
<outputDirectory>target/generated-sources/querydsl</outputDirectory>
<processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<compilerArgs>
<arg>-Aquerydsl.entityAccessors=true</arg>
<arg>-Aquerydsl.useFields=false</arg>
</compilerArgs>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.8</version>
</path>
<path>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-core</artifactId>
<version>${querydsl.version}</version>ø
</path>
<path>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-apt</artifactId>
<version>${querydsl.version}</version>
</path>
<path>
<groupId>com.mysema.codegen</groupId>
<artifactId>codegen</artifactId>
<version>0.6.8</version>
</path>
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>${mapstruct.version}</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot.version}</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M3</version>
</plugin>
</plugins>
</pluginManagement>
</build>
此配置在出现问题之前先编译版本;但是,合并后版本的生成错误仍然相同。我的龙目岛配置不正确吗?
答案 0 :(得分:0)
实际上,我们的pom.xml设置非常好。但是,在合并期间,git复制了一个休眠状态 @EntityListener注释。结果,龙目岛以某种方式...停止工作了?当我删除其中一个注释时,一切都很好。
是否有一种方法可以像龙目岛日志一样检测到此问题?