【发布时间】:2020-01-21 14:29:02
【问题描述】:
我是 Java 和 Stack Overflow 的新手,我在 IntelliJ 中创建了一个 Java 项目,并通过构建工件和构建 .jar 文件制作了一个 .jar 文件以在没有 IntelliJ 的情况下运行它。该程序使用机器人通过按 Windows 和 R 键打开运行窗口,将鼠标移动到我的计算机分辨率(1366 x 768)的框内,单击,键入 cmd 并按 Enter,将鼠标移到在 cmd 窗口中,单击并键入 whoami 并按 Enter。这在 IntelliJ 内部工作得很好,但在它之外我得到这个错误:
Java 虚拟机启动器 错误:发生 JNI 错误,请检查您的安装并重试。
当我单击“确定”时,会打开另一个文本框:
Java 虚拟机启动器 发生了 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);
}
}
}
线程.sleep(20000);在代码的末尾是为了防止它陷入无限循环,让我停止程序。
我的 java 是最新的,IntelliJ 也是最新的,我看不出我做错了什么。
【问题讨论】:
-
那么当你构建项目时,intellij会在
target文件夹中创建一个jar吗?这是您应该从命令行运行的内容。我怀疑,如果它正在创建它,那么库不会被包含在内。
标签: java intellij-idea jar jvm