Я новичок в Java и переполнении стека, и я создал проект Java в IntelliJ и создал файл .jar для его запуска без IntelliJ, создавая артефакты и создавая файл .jar. Программа использует робота для открытия окна «Выполнить» нажатием клавиш Windows и R, перемещает мышь внутрь окна для разрешения моего компьютера (1366 x 768), щелкает, вводит cmd и нажимает ввод, перемещает мышь внутри окна cmd щелкает и вводит whoami и нажатия. Это прекрасно работает внутри IntelliJ, но за его пределами я получаю эту ошибку:
Java Ошибка запуска виртуальной машины: произошла ошибка JNI, проверьте вашу установку и повторите попытку.
Когда я нажимаю ОК, открывается другое текстовое поле:
Java Средство запуска виртуальной машины A java Исключение.
Мой код в моем. java файле:
import java.awt.AWTException;
import java.awt.event.KeyEvent;
import java.awt.Robot;
import java.awt.event.InputEvent;
public class RobotTest {
public static void main(String[] args) throws Exception {
Robot r = new Robot();
while (true) {
r.keyPress(KeyEvent.VK_WINDOWS);
r.keyPress(KeyEvent.VK_R);
r.keyRelease(KeyEvent.VK_WINDOWS);
r.mouseMove(300,620);
r.mousePress(InputEvent.BUTTON1_DOWN_MASK);
r.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);
Thread.sleep(100);
r.keyPress(KeyEvent.VK_C);
r.keyPress(KeyEvent.VK_M);
r.keyPress(KeyEvent.VK_D);
r.keyPress(KeyEvent.VK_ENTER);
Thread.sleep(150);
r.mouseMove(400,200);
r.mousePress(InputEvent.BUTTON1_DOWN_MASK);
r.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);
r.keyPress(KeyEvent.VK_W);
r.keyPress(KeyEvent.VK_H);
r.keyPress(KeyEvent.VK_O);
r.keyPress(KeyEvent.VK_A);
r.keyPress(KeyEvent.VK_M);
r.keyPress(KeyEvent.VK_I);
r.keyPress(KeyEvent.VK_W);
r.keyPress(KeyEvent.VK_ENTER);
r.mouseMove(400, 200);
Thread.sleep(20000);
}
}
}
The Thread.sleep (20000); в конце кода есть, чтобы предотвратить его бесконечное l oop, что позволяет мне остановить программу.
Мой java обновлен, как и IntelliJ, и я не вижу, что я делаю не так.