下面是我们在项目中构建maven后遇到的错误:
Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (default-compile) on project test1: Compilation failure: Compilation failure
&
Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:3.5.0:jar (attach-javadocs) on project test2: Error while generating Javadoc
我期待解决上述错误,因为我们正在将Java从JDK 8迁移到JDK 17。我想知道是否有人能帮我解决这个问题。
[INFO] BUILD FAILURE
[INFO] --------------------------------------------------------------
----------
[INFO] Total time: 50.144 s
[INFO] Finished at: 2023-08-22T15:19:41+05:30
[INFO] Final Memory: 47M/174M
[INFO] --------------------------------------------------------------
----------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-
javadoc-plugin:3.5.0:jar (attach-javadocs) on project esymac:
MavenReportException: Error while generating Javadoc:
[ERROR] Exit code:1
[ERROR]/home/soumya/trunk/joma/esymac/src/main/java/com/nokia/j2ssp/comp/esymac/api/FaultManagerFactory.java:21: error: cannot find symbol
[ERROR] import com.nokia.j2ssp.comp.esymac.fm.FaultManagerAIFRemote;
[ERROR] symbol: class FaultManagerAIFRemote
[ERROR] location: package com.nokia.j2ssp.comp.esymac.fm
[ERROR] /home/soumya/trunk/joma/esymac/src/main/java/com/nokia/j2ssp/comp/esymac/api/FaultManagerFactory.java:22: error: cannot find symbol
[ERROR] import com.nokia.j2ssp.comp.esymac.util.Configuration;
父pom.xml:
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<maven.compiler.release>17</maven.compiler.release>
</properties>
<modules>
<module>joma</module>
</modules>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.10.1</version>
<configuration>
<!--<source>17</source>
<target>17</target>-->
<release>17</release>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
<dependencies>
1条答案
按热度按时间pkbketx91#
我看到你使用的是3.8.0版的maven-compiler-plugin,一旦你说你要从JDK 8迁移到JDK 17,你可能需要将插件升级到3.10.1版,并在
pom.xml
的<properties/>
部分指定Java语言级别:也看看你的代码,编译错误可能是由一些API造成的,这些API在迁移后不可用。如果你附上更多关于编译错误的信息,那就太好了。
注意Lombok的版本,你可能也需要升级它。一般来说,您的问题看起来像这样Java 17: Maven doesn't give much information about the error that happened, why?
P.S.你的错误
我怀疑这些类(
FaultManagerFactory
,FaultManagerAIFRemote
等)在编译类路径中丢失了。它们是来自库还是动态生成的?如果是后者,请尝试弄清楚为什么迁移后不生成它们。