如何在基于 Alpine Linux 的 docker 容器的 PATH 中添加 Maven Home (M2_HOME)
How to add Maven Home (M2_HOME) in PATH in Alpine Linux based docker container
我需要在我的应用程序中使用 Maven-invoker。我 运行 我的应用程序在基于 Alpine 的 docker 容器中。所以,我在 Dockerfile 命令中安装 Maven,并将 Maven Home 目录添加到 PATH 环境变量中。
容器启动后,我可以进去看看,Maven Home 不在 PATH 中。
一旦我在容器中手动 运行 "source /etc/profile.d/maven.sh" 我可以在 PATH 中看到 Maven 主页,但是当我打开一个新终端时它消失了。
我的 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
如果能帮助解决这个问题,我将不胜感激。
我通过添加解决了这个问题
ENV PATH=/usr/share/java/maven-3/bin:$PATH
进入 Dockerfile。现在 maven.home 在 PATH 中。
我需要在我的应用程序中使用 Maven-invoker。我 运行 我的应用程序在基于 Alpine 的 docker 容器中。所以,我在 Dockerfile 命令中安装 Maven,并将 Maven Home 目录添加到 PATH 环境变量中。
容器启动后,我可以进去看看,Maven Home 不在 PATH 中。 一旦我在容器中手动 运行 "source /etc/profile.d/maven.sh" 我可以在 PATH 中看到 Maven 主页,但是当我打开一个新终端时它消失了。
我的 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
如果能帮助解决这个问题,我将不胜感激。
我通过添加解决了这个问题
ENV PATH=/usr/share/java/maven-3/bin:$PATH
进入 Dockerfile。现在 maven.home 在 PATH 中。