Eclipse 在同一项目中运行SimplePenni和leJOS
我们有一个项目,我们想用微软的Kinect传感器控制一个乐高Mindstorms机器人。我们决定使用SimplePenni和Processing读取传感器,使用leJOS控制机器人,原因很简单:因为两者都是Java语言,我们可以指定一种Eclipse 在同一项目中运行SimplePenni和leJOS,eclipse,build,lejos-nxj,simple-openni,Eclipse,Build,Lejos Nxj,Simple Openni,我们有一个项目,我们想用微软的Kinect传感器控制一个乐高Mindstorms机器人。我们决定使用SimplePenni和Processing读取传感器,使用leJOS控制机器人,原因很简单:因为两者都是Java语言,我们可以指定一种RoboHandler,并从传感器读取类调用其方法 为了实现这一点,我们下载了eclipse的leJOS插件,创建了一个新的leJOS NXT项目,并将processing和SimplePenni库放在构建路径中。注意,要使用SimplePenni,需要一个没有J
RoboHandler
,并从传感器读取类调用其方法
为了实现这一点,我们下载了eclipse的leJOS插件,创建了一个新的leJOS NXT项目,并将processing和SimplePenni库放在构建路径中。注意,要使用SimplePenni,需要一个没有Java的旧处理版本
现在的问题是,在安装leJOS时,它严格要求32位javajdk,所以我必须下载它并在安装时指向它
此时,项目中存在以下生成路径:
- LeJOS NXT运行时(其中包括java.awt类)
- core.jar(用于在eclipse中运行处理)
- simplepenni.jar
import processing.core.*;
public class Test extends PApplet{
(....)
}
导致以下错误代码:
Multiple markers at this line
- The type java.awt.event.MouseMotionListener cannot be resolved. It is indirectly referenced from
required .class files
- The type java.applet.Applet cannot be resolved. It is indirectly referenced from required .class files
- The type java.awt.event.MouseListener cannot be resolved. It is indirectly referenced from required .class files
- The hierarchy of the type FirstTry is inconsistent
- The type java.awt.event.FocusListener cannot be resolved. It is indirectly referenced from required .class files
- The type java.awt.event.KeyListener cannot be resolved. It is indirectly referenced from required .class files
当我下载没有Java版本的处理时,我无法从32位或64位版本中进行选择。SimplePenni安装为64位版本
当添加64位JDK(eclipse工作区默认值)作为工作区时,错误也会消失,但当尝试运行草图时,控制台中会显示以下错误:
Invalid layout of java.lang.Thread at name
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (javaClasses.cpp:128), pid=9176, tid=8740
# fatal error: Invalid layout of preloaded class
#
# JRE version: 7.0_04-b22
# Java VM: Java HotSpot(TM) 64-Bit Server VM (23.0-b21 mixed mode windows-amd64 compressed oops)
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
#
# An error report file with more information is saved as:
# C:\Users\Valentino\Desktop\workspaces\workspace_processing\RoboZeugs\bin\hs_err_pid9176.log
#
# If you would like to submit a bug report, please visit:
# http://bugreport.sun.com/bugreport/crash.jsp
#
因此,在我看来,JDK版本(32位和64位)存在一个问题,但必须有一种方法来处理这个问题。有没有人在这个特定的主题上有过经验,甚至可能是Kinect->Mindstorms?有人能告诉我这个错误的确切含义吗?你把设计用于在NXT砖块上运行JVM的类(即classes.jar中的所有内容)与设计用于在PC上运行成熟JVM的类混合在一起。 不要那样做。如果您想远程控制NXT,请使用pccomms.jar和lib/pc中的其他所有内容。但在pc上启动Java程序时,切勿将classes.jar或lib/NXT中的任何内容添加到类路径中 关于java.lang.Thread的错误消息可能是因为classes.jar中的java.lang.Thread与PC上JVM附带的java.lang.Thread不兼容