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

在阿里云Ubuntu服务器上通过apt-get安装maven后,遇到构建项目失败的问题,报错org.apache.maven.plugin.compiler.CompilationFailureException。错误源于未正确安装或配置JDK。尽管系统显示JDK已安装,但编译器实际缺失。通过检查发现,确实需要安装JDK来解决这个问题。在安装JDK后,项目成功编译完成。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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文件。

### IDEA Maven 编译插件无法解析解决方案 当遇到 `Cannot resolve plugin org.apache.maven.plugins:maven-compiler-plugin:3.8.1` 错误时,通常是因为Maven镜像配置不正确或IDEA未使用正确的Maven设置。 #### 配置本地Maven环境 确保本地已安装适当版本的Maven,并且其路径被正确添加到系统的环境变量中。这一步骤对于使命令行工具和其他应用程序能够识别并调用Maven至关重要[^2]。 #### 修改IDEA中的Maven设置 进入IDEA的首选项/设置界面,导航至构建工具下的Maven选项卡。确认选择了外部Maven而非内置版本,并指定了有效的`settings.xml`文件位置。如果该文件不存在,则需创建它来定义仓库地址及其他必要的参数[^3]。 ```xml <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <!-- 添加阿里云或其他稳定源 --> <mirrors> <mirror> <id>aliyun</id> <name>Aliyun Repository</name> <url>https://maven.aliyun.com/repository/public</url> <mirrorOf>*</mirrorOf> </mirror> </mirrors> </settings> ``` #### 更新项目依赖关系 完成上述更改之后,在IDEA内右键点击项目的pom.xml文件,选择"Maven"-> "Reimport" 或者通过菜单栏执行相同操作以刷新所有依赖库的状态。这样做可以强制重新下载所需的构件及其元数据,从而解决问题[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值