pom.xml含有以下:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<!-- <phase>install</phase> -->
<goals><goal>java</goal></goals></execution>
</executions>
<configuration>
<mainClass>org.example.TestMain</mainClass>
</configuration>
</plugin>
mvn exec:java发生错误:
Unsupported major.minor version 52.0
原因javac为1.7版本,而工程是在1.8版本编译下才可以运行。
解决方案:
在CentOS7下,检查javac和java版本:
javac -version
java -version
显示均为1.7.
下载安装1.8版本java jdk:
yum -y install java-1.8.0-openjdk-devel.x86_64
如果使用ansible,则playbook.yml为:
--- - hosts: dockerservers remote_user: root tasks: - name: yum install java8 yum: name=java-1.8.0-openjdk-devel.x86_64 state=installed
安装完成,生成新的软链接:
rm /etc/alternatives/javac
rm /etc/alternatives/java
ln -s /usr/lib/jvm/java-1.8.0/bin/java /etc/alternatives/java
ln -s /usr/lib/jvm/java-1.8.0/bin/javac /etc/alternatives/javac
重新运行检查java版本:
java --version
javac -version
均显示为1.8.0即可。
重新运行mvn exec:java,即可成功编译运行。