0

我需要在我的应用程序中使用 Maven-invoker。我在基于 Alpine 的 docker 容器中运行我的应用程序。因此,我输入 Dockerfile 命令来安装 Maven,并将 Maven 主目录添加到 PATH 环境变量中。

当容器启动时,我可以进去看看,Maven Home 不在 PATH 中。一旦我在容器中手动运行“source /etc/profile.d/maven.sh”,我可以在 PATH 中看到 maven home,但是当我打开一个新终端时它会消失。

我的 maven.sh 包含以下内容: export PATH=/usr/share/java/maven-3/bin:$PATH

我也试过这个:

export M2_HOME=/usr/share/java/maven-3
export MAVEN_HOME=/usr/share/java/maven-3
export PATH=${M2_HOME}/bin:${PATH}

我的 Dockerfile 包含:

RUN apk add --no-cache maven
COPY maven.sh /etc/profile.d
RUN chmod +x /etc/profile.d/maven.sh
RUN source /etc/profile.d/maven.sh

我将非常感谢帮助解决这个问题。

4

1 回答 1

0

我通过添加 ENV PATH=/usr/share/java/maven-3/bin:$PATH 到 Dockerfile 中解决了这个问题。现在 maven.home 在 PATH 中。

于 2021-10-01T09:15:14.753 回答