JDK版本问题
可能遇到异常日志
Fatal error compiling: 无效的目标发行版: 1.8 -> [Help 1]
Maven项目在没有特殊指定的情况下,默认使用JDK 1.5版本。在开发工具中,建议优先在项目pom.xml文件中指定项目所使用的JDK版本,这样开发工具(Eclipse、IDEA)基本上可以正确的自动选择合适的项目配置(工程配置),不建议手动去强行修改项目的编译环境。
通过在pom.xml中添加 maven-compiler-plugin
插件可以完成JDK版本设置,该插件配置在 build > plugins 节点下。
<!-- Java Compile Configurate -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
在通过IDEA环境中执行 mvn release:prepare
发布命令时,需要注意检查一下当前系统JAVA_HOME
环境变量是否与当前期望的版本是否一致,在修改了系统JAVA_HOME变量后,最好重启IDEA之后再进行发布操作。
Javadoc生成失败问题
在 release:prepare
命令执行成功之后,继续执行 release:perform
执行项目发布,可能会遇到如下问题:due to an API incompatibility: org.codehaus.plexus.component.repository.exception.ComponentLookupException
,javadoc生成失败导致deploy操作失败。
JDK8环境下Javadoc生成对源码注释语法检查更为严格,为了兼容老项目的发布,通过如下配置(-Xdoclint:none)可以忽略该检查,继续完成项目发布操作,配置位置在 build > plugins 节点下。
<!-- Javadoc Plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.3</version>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<additionalparam>-Xdoclint:none</additionalparam>
</configuration>
</execution>
</executions>
<configuration>
<aggregate>true</aggregate>
<charset>UTF-8</charset>
<encoding>UTF-8</encoding>
<docencoding>UTF-8</docencoding>
</configuration>
</plugin>
还有一个解决方法,在发布时,忽略javadoc生成, release:perform -Darguments="-Dmaven.javadoc.skip=true"