【发布时间】:2022-01-11 20:00:33
【问题描述】:
我正在开发一个项目,我们希望在 Jenkins 管道期间使用 plexus-compiler-eclipse 插件来检查 Eclipse 编译器生成的警告数量是否增加。我们仍然想在正常的构建和测试阶段使用javac 编译器,所以我正在尝试创建一个 Maven 配置文件,我们可以在使用 Eclipse 编译器的警告阶段运行。
当我对我们的代码运行 Eclipse 编译器时,我收到一个关于缺少 JAXB 依赖项的编译错误。我知道这是由于我们从 Java 1.8 迁移到 Java 11,但是在使用 javac 编译器构建时我们没有收到此错误。我尝试将jakarta.xml.bind-api 依赖项添加到maven-compiler-plugin,但这没有帮助,添加org.glassfish.jaxb 依赖项或javax.xml.bind:jaxb-api 依赖项也没有帮助。
我无法分享完整的 pom,因为这个项目是专有的,但我正在构建的配置文件如下所示:
<profile>
<id>eclipse-compile</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1></version>
<configuration>
<compilerId>eclipse</compilerId>
<source>${java.version}</source>
<target>${java.version}</target>
<compilerArguments>
<properties>${project.basedir}/.settings/org.eclipse.jdt.core.prefs</properties>
</compilerArguments>
</configuration>
<dependencies>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-compiler-eclipse</artifactId>
<version>2.8.8</version>
</dependency>
<dependency>
<groupId>org.eclipse.jdt</groupId>
<artifactId>ecj</artifactId>
<version>3.25.0</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
我将尝试的各种 JAXB 依赖项放在 <dependencies> 部分的 org.eclipse.jdt 条目下。
还有其他人遇到过这种情况或知道该怎么做吗?
【问题讨论】: