【问题标题】:Run javaw.exe from batch in same process / show output在同一进程中从批处理运行 javaw.exe / 显示输出
【发布时间】:2017-05-31 22:35:29
【问题描述】:

我需要从批处理文件运行 java 应用程序并在我的控制台上查看它的输出。遗憾的是我没有使用“java -jar”的可能性,因为我使用的 java 可以改变。 javaw.exe 的路径是从 .txt 文件中读取的,用户必须在运行批处理文件之前对其进行配置。

到目前为止,我从配置文件中读取了 javaw.exe 的路径并使用我的参数调用它:

set /p javaPath=<startconfig.txt
call %javaPath% -jar pathToMyJar.jar

遗憾的是,这并没有给我 jar 在其控制台上打印的输出。我还尝试了使用 /B 和 /wait 开关的启动命令,但它也不起作用。我不擅长批处理,因为我很少使用它,所以请告诉我如何让 javaw.exe 在 shell 进程中运行,或者至少将 javaw.exe 的输出重定向到我的 shell 控制台。

谢谢
什莫比

【问题讨论】:

  • 这不能回答您的问题,但您可能会发现它很有用:stackoverflow.com/a/28987189/1683264
  • 我正在构建一个通用的启动批处理,它将多个 java 选项等放在一起以运行一个 jar 文件。这个文件是一个服务器,它可以并且将会改变它的 java 版本。除此之外,我知道它想与便携式环境一起运行。所以我需要将路径作为用户输入并从那里调用 javaw.exe。

标签: batch-file


【解决方案1】:
java -cp "%javaPath%" -jar pathToMyJar.jar 2>&1 >pathToMyJar.log

【讨论】:

  • 如果机器上没有安装 java,shell 将找不到命令“java”,对吗?想想一个干净的系统,除了 windows 和服务器之外没有任何东西。 java是由便携式设备带来的。 USB 或外部硬盘驱动器等。这将不再起作用,对吗?
猜你喜欢
  • 1970-01-01
  • 2021-09-27
  • 1970-01-01
  • 1970-01-01
  • 2021-05-07
  • 1970-01-01
  • 1970-01-01
  • 2022-01-23
  • 2014-10-11
相关资源
最近更新 更多