阿里云Ubuntu服务器使用apt-get安装maven,构建项目出现 org.apache.maven.plugin.compiler.CompilationFailureException

apt今天在一台新买的阿里云服务器安装maven,由于使用的是apt-get install安装的,安装后文件会比较分散。一般来说配置文件是存放在:/etc目录下。

apt-get install安装目录是包的维护者确定的,不是用户

  • 系统软件一般的存放位置为 /usr/share
  • 可执行文件一般存放位置为 /usr/bin
  • 配置文件一般存放路径为 /etc
  • 依赖的库文件一般存放的路径为 /usr/lib

安装完maven后使用mvn -v检查maven是否安装成功,结果为正确安装。
使用 java -version 查看jdk版本,结果如下图所示:
在这里插入图片描述
我竟然信了已经安装了JDK,莫名其妙自带了个openjdk

接着进入项目目录手动构建SpringBoot项目,执行如下命令:

mvn clean install  -Dmaven.test.skip=true -U -e

接着开始疯狂出错之旅,主要错误摘要为:

Caused by: org.apache.maven.plugin.compiler.CompilationFailureException: Compilation failure

No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?

What? 刚才java -version结果显示了jdk的版本啊,没有编译器???

…此处省略兜兜转转的查问题的过程!!!

没有编译器?那就使用 javac MainApp.java看看能不能正常编译,真香!编译器果然不存在。。。

安装jdk后,再执行javac命令,结果如下图所示,虽然编译出错,但证明了编译器是存在的
在这里插入图片描述
再执行 mvn clean install 命令后成功构建。


总结:

在Ubuntu环境下构建maven出现No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK错误提示,很大一部分原因是:没有安装或正确安装配置JDK,出现这个错误首先要往javac命令是否能够编译java文件。

你可能感兴趣的:(java,maven)