springboot项目依赖需要powershell

问题描述 投票:0回答:1

嗨,我正在工作一个项目,其中 springboot 项目使用 Maven 依赖项jpowershell

现在我的问题是我已经使用 rhel 7 基础映像对项目进行了 docker 化,还安装了 powershell 并尝试运行我的 docker 映像,但出现错误并且 docker 容器退出

PowerShell 不可用 com.profesorfalken.jpowershell.PowerShellNotAvailableException:无法执行 PowerShell.exe。请确保您的系统中已安装它

这是我的 docker 文件,我遵循正确的程序还是犯了一些错误。任何帮助将不胜感激

FROM something.abc.com/test-base/rhel:7

ENV http_proxy http://http.proxy.xyz.com:8000
ENV https_proxy http://http.proxy.xyz.com:8000
ENV no_proxy localhost,127.0.0.1,.xyz.com
ENV PATH="/usr/java/jdk-15.0.1/bin:$PATH"

# Install common packages

RUN yum install -y bzip2
RUN yum install -y wget
RUN wget https://github.com/PowerShell/PowerShell/releases/download/v7.3.7/powershell-7.3.7-1.rh.x86_64.rpm
RUN yum install -y powershell-7.3.7-1.rh.x86_64.rpm
RUN pwsh --version


# Download and Install OpenJDK 15

RUN cd /tmp && wget https://download.java.net/java/GA/jdk15.0.1/51f4f36ad4ef43e39d0dfdbaf6549e32/9/GPL/openjdk-15.0.1_linux-x64_bin.tar.gz && \
    tar -xvzf openjdk-15.0.1_linux-x64_bin.tar.gz && \
    mkdir -p /usr/java && mv /tmp/jdk-15.0.1 /usr/java


VOLUME /tmp
ADD target/xyz-*.jar /app/xyz/sample.jar

EXPOSE 8080
ENTRYPOINT ["java","-jar","/app/xyz/sample.jar"]

这是我运行 docker 容器时的错误

Powershell 路径

linux spring-boot docker rhel
1个回答
0
投票

Powershell 文档中所述,Powershell 5.1 之后:

PowerShell 的二进制名称已从 powershell(.exe) 更改为 pwsh(.exe)

jPowershell 正在寻找名为

powershell
的二进制文件,该二进制文件在您的环境中无法工作。

一种可能的解决方案是更改 jPowershell 正在寻找的可执行文件名称(如此处所述):

//Creates PowerShell session
try (PowerShell powerShell = PowerShell.openSession("pwsh")) {
   ...
}
© www.soinside.com 2019 - 2024. All rights reserved.