gpt4 book ai didi

java - 使用 Powershell 安装 Jasperserver 时出现问题。 ANT看不到Java

转载 作者:行者123 更新时间:2023-11-30 07:15:36 25 4
gpt4 key购买 nike

我正在尝试使用 Powershell 将 Jasperserver 安装到 Windows 虚拟机上。

我可以很好地安装 Java,但是一些后续运行的 bat 文件提示它们找不到 JAVA_HOME 等环境变量。不过我可以看到它们存在。

我添加环境变量:

[Environment]::SetEnvironmentVariable("JAVA_HOME", "C:\Program Files\Java\jdk1.8.0_91", "Machine")
[Environment]::SetEnvironmentVariable("JRE_HOME", "C:\Program Files\Java\jre1.8.0_91", "Machine")
[Environment]::SetEnvironmentVariable("CLASSPATH", "C:\Program Files\Java\jdk1.8.0_91\jre1.8.0_91\lib\rt.jar", "Machine")

还有路径变量。进入系统 -> 高级系统设置 -> 环境变量,我可以看到它们在那里,所以我认为这不仅仅是设置 powershell session 。

当我尝试运行 ANT 时(尽管是批量构建)

cd C:\Jaspersoft\jasperreports-server-6.2.0\apache-tomcat\bin
$arguments = '/c service.bat install'启动进程 cmd -Wait -PassThru -ArgumentList $arguments

它给了我这个错误:

> WARNING: JAVA_HOME environment variable not found  [minimal]  Running
> install-minimal-pro Ant task
> ---------------------------------------------------------------------- '"java.exe"' is not recognized as an internal or external command,
> operable program or batch file. Checking Ant return code: OK

我已经尝试过:

  • 通过多种方式设置环境(setx.exe 等)
  • 以多种方式运行bat,启动进程、cmd、调用命令等

如果我重新启动服务器,它将安装正常。另外,如果我直接在命令提示符下运行批处理,那就没问题。

在我必须使用已安装 Java 的镜像之前,我想了解为什么会发生这种情况,并最好使其正常工作。

最佳答案

SetEnvironmentVariable(..., "Machine")setx 都在注册表中设置变量。该值用于由资源管理器启动的 future 进程(例如重新启动后),但不为当前进程或其子进程设置。您的脚本需要为当前进程设置变量。

使用 .NET 语法:

[Environment]::SetEnvironmentVariable("JAVA_HOME", "C:\Program Files\Java\jdk1.8.0_91", "Process")

或者,使用 PS 语法

$env:JAVA_HOME = "C:\Program Files\Java\jdk1.8.0_91"

关于java - 使用 Powershell 安装 Jasperserver 时出现问题。 ANT看不到Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38463723/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com