为什么通过任务调度程序运行.bat文件不能完全启动.jar文件



事情是这样的。我已经创建了一个包含start javaw -jar BTG_Producer.jar的。bat文件。当我通过双击手动启动它时,它将在我的系统托盘中显示我的java程序,并在Windows任务管理器中显示进程"java .exe *32"。当我通过任务调度程序运行这个程序时,它启动进程"javaw.exe",没有*32,并且不显示系统托盘中的程序。你们知道我哪里做错了吗?

当您通过Task Scheduler启动进程时,它的环境可能与从桌面启动进程时不同。要测试这一点,您可以创建一个任务,使用任务调度程序中的/k参数运行cmd。当你运行它,cmd将打开,然后你可以运行set >%userprofile%Desktopenvironment1.txt。然后,像往常一样打开cmd,运行set >%userprofile%Desktopenvironment2.txt。并排打开两个文件,并进行比较。

在这种情况下,我怀疑您的PATH变量是不同的,这就是为什么在一种情况下运行32位java,而在另一种情况下运行64位。

要解决这个问题,您可以在批处理文件中显式指定64位javaw.exe。

C:pathtojavaw.exe而不是javaw

最新更新