maven和jdk8在Alpine Linux镜像上运行



这是我第一次使用Alpine linux映像。它是詹金斯建造管道的一部分。

当我试图编译我的maven构建(它需要Java 1.8(时……它给出了一个错误,表明没有安装编译器。

然而,我确认它已安装。。。多种方式;

  1. 回显JAVA_HOME变量,返回/usr/lib/jvm/java-1.8-openjdk

  2. 测试以确认编译器存在;通过运行"${JAVA_HOME}/javac-版本"。。。其返回;

/usr/lib/jvm/java-1.8-openjdk/bin/javac -version
javac 1.8.0_222
  1. 但是,maven仍然指向JRE
Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T07:58:13Z)
Maven home: /usr/share/java/maven-3
Java version: 1.8.0_222, vendor: IcedTea
Java home: /usr/lib/jvm/java-1.8-openjdk/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.19.84-coreos", arch: "amd64", family: "unix"

我尝试手动安装JDK。。。但似乎无济于事;

apk update
apk add openjdk8
apk add maven

有什么建议吗?我需要Java 8来编译这个应用程序。。。并且目前每一次尝试做";mvn清洁安装";导致故障,如下所示;

[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?

尝试了许多不同的想法,然后最终考虑设置编译器的路径,令人惊讶的是,现在它可以工作了!

export PATH=${PATH}:${JAVA_HOME}/bin
mvn clean install

最新更新