#batch-file #jar #scheduled-tasks #javaw
#пакетный файл #jar #запланированные задачи #javaw
Вопрос:
Вот что происходит. Я создал .Файл Bat, содержащий start javaw -jar BTG_Producer.jar
Когда я запускаю это вручную двойным щелчком, он отображает мою Java-программу в системном трее и показывает процесс «javaw.exe * 32 » в диспетчере задач Windows. Когда я запускаю это через планировщик задач, он запускает процесс «javaw.exe » без * 32 и не показывает программу в системном трее. Ребята, вы знаете, что я делаю не так?
Комментарии:
1. можете ли вы уточнить, как выглядит задание вашего планировщика задач?
2. Я не уверен, что вы хотели уточнить? Это базовая задача, которой предписывается выполнять пакетный файл в 12:05 утра каждый день.
3. Я говорю об учетной записи пользователя, под которой выполняется задание (независимо от того, ваше ли оно), сведения о действии, особенно аргументы и Начало в папке (которые вы можете увидеть при редактировании действия).
Ответ №1:
Когда вы запускаете процесс через планировщик задач, у него может быть другая среда, чем при запуске процесса со своего рабочего стола. Чтобы проверить это, вы можете создать задачу, которая выполняется cmd
с /k
параметром из планировщика задач. Когда вы запустите его, откроется cmd, после чего вы сможете выполнить set >%userprofile%Desktopenvironment1.txt
. Затем откройте cmd, как вы обычно делаете, и запустите set >%userprofile%Desktopenvironment2.txt
. Откройте два файла рядом и сравните.
В этом случае я подозреваю, что ваши переменные PATH отличаются, поэтому в одном случае выполняется 32-разрядная java, а в другом — 64-разрядная.
Чтобы исправить это, вы могли бы явно указать 64-разрядный javaw.exe в вашем пакетном файле.
C:pathtojavaw.exe
вместо просто javaw
.