Java &引用;“乔治诺特芬”';如果您有以下错误,请使用s MinecraftShocker插件:jSSC-2.8_x86_64.dll+;0xb5db,如何修复
目前我正试图从他的视频()中复制“GeorgeNotFound”的MinecraftShocker插件,但我得到了这个错误,这意味着没有找到Arduino,对吗 我已经检查了Arduino Uno是否连接到“COM3”,并且我已经在Arduino上安装了Firmata 我正在使用Maven添加库 我将我使用的jar从slf4j-log4j12.jar更改为slf4j-jdk14.jar,现在我得到一个不同的错误 添加文本以指示其不断失败的位置 为了更好的可读性,将所有以前的编辑都改成斜体Java &引用;“乔治诺特芬”';如果您有以下错误,请使用s MinecraftShocker插件:jSSC-2.8_x86_64.dll+;0xb5db,如何修复,java,arduino-uno,firmata,Java,Arduino Uno,Firmata,目前我正试图从他的视频()中复制“GeorgeNotFound”的MinecraftShocker插件,但我得到了这个错误,这意味着没有找到Arduino,对吗 我已经检查了Arduino Uno是否连接到“COM3”,并且我已经在Arduino上安装了Firmata 我正在使用Maven添加库 我将我使用的jar从slf4j-log4j12.jar更改为slf4j-jdk14.jar,现在我得到一个不同的错误 添加文本以指示其不断失败的位置 为了更好的可读性,将所有以前的编辑都改成斜体 我不再
我不再使用
slf4j-jdk14.jar
,
相反,我删除了com.github.kurbatov:firmata4j:2.3.8
中的org.scream3r:jssc:2.8.0
的依赖项,并分别安装了io.github.java native:jssc:2.9.2
(因此它现在不再使用2.8.0作为默认版本,而是使用固定的2.9.2版本;)
瞧,它起作用了
错误:
正在连接。。。
有联系的
#
#Java运行时环境检测到一个致命错误:
#
#pc=0x000000007110b5db、pid=9764、tid=1144时的异常访问(0xc0000005)
#
#JRE版本:OpenJDK运行时环境(15.0+36)(构建15+36-1562)
#Java虚拟机:OpenJDK 64位服务器虚拟机(15+36-1562,混合模式,共享,分层,压缩oops,g1 gc,windows-amd64)
#有问题的框架:
#C[jSSC-2.8_x86_64.dll+0xb5db]
#
#不会写入内核转储。默认情况下,在客户端版本的Windows上不启用小型转储
#
#包含详细信息的错误报告文件另存为:
#C:\Users\Lucky 56\IdeaProjects\Shocker\hs\u err\u pid9764.log
#
#如果您想提交错误报告,请访问:
# https://bugreport.java.com/bugreport/crash.jsp
#崩溃发生在Java虚拟机外部的本机代码中。
#有关报告错误的位置,请参见问题框。
#
进程已完成,退出代码为1
代码:
package me.lucky56.shocker;
导入org.firmata4j.IODevice;
导入org.firmata4j.Pin;
导入org.firmata4j.firmata.FirmataDevice;
导入java.io.IOException;
公共班机
{
公共静态void main(字符串[]args)引发IOException、InterruptedException{
System.out.println(“连接…”);
IODevice设备=新FirmataDevice(“COM3”);
System.out.println(“已连接”);
device.start();
device.ensureInitializationsdone();
System.out.println(“连接成功”);
对于(int i=0;i<5;i++)
{
开启(装置);
System.out.println(“On”);
睡眠(250);
系统输出打印项次(“关闭”);
关断(装置);
睡眠(1000);
}
设备。停止();
}
静态真空开启(碘器件)
{
尝试
{
设备.getPin(7).setMode(Pin.Mode.OUTPUT);
设备。getPin(7)。设置值(350);
设备.getPin(13).setMode(Pin.Mode.INPUT);
}捕获(IOE异常)
{
e、 printStackTrace();
}
}
静态空隙关闭(碘器件)
{
尝试
{
device.getPin(7.setMode)(Pin.Mode.INPUT);
}捕获(IOE异常)
{
e、 printStackTrace();
}
}
}
我不再使用slf4j-jdk14.jar
,
相反,我删除了com.github.kurbatov:firmata4j:2.3.8
中的org.scream3r:jssc:2.8.0
的依赖项,并分别安装了io.github.java native:jssc:2.9.2
(因此它现在不再使用2.8.0作为默认版本,而是使用固定的2.9.2版本;)
瞧,它正在工作设备。确保重新初始化设备();问题是你刚刚读了主要部分?因为在我的程序中,这一行是:
IODevice device=newfirmatadevice(“COM3”)代码>不清楚您是如何管理库的。专家格拉德尔?或者手动将jar文件添加到您的项目中?Maven,我会将其添加到描述中,谢谢:)您能将pom文件添加到问题中吗?
package me.lucky56.shocker;
import org.firmata4j.IODevice;
import org.firmata4j.Pin;
import org.firmata4j.firmata.FirmataDevice;
import java.io.IOException;
public class Main
{
public static void main(String[] args) throws IOException, InterruptedException {
System.out.println("Connecting...");
IODevice device = new FirmataDevice("COM3");
System.out.println("Connected");
device.start();
device.ensureInitializationIsDone();
System.out.println("Connected Successfully");
for (int i = 0; i < 5; i++)
{
turnOn(device);
System.out.println("On");
Thread.sleep(250);
System.out.println("Off");
turnOff(device);
Thread.sleep(1000);
}
device.stop();
}
static void turnOn(IODevice device)
{
try
{
device.getPin(7).setMode(Pin.Mode.OUTPUT);
device.getPin(7).setValue(350);
device.getPin(13).setMode(Pin.Mode.INPUT);
} catch (IOException e)
{
e.printStackTrace();
}
}
static void turnOff(IODevice device)
{
try
{
device.getPin(7).setMode(Pin.Mode.INPUT);
} catch (IOException e)
{
e.printStackTrace();
}
}
}