在eclipse中安装lejos插件(无法加载jfantom.dll)

在eclipse中安装lejos插件(无法加载jfantom.dll),dll,eclipse-plugin,lejos-nxj,Dll,Eclipse Plugin,Lejos Nxj,因此,我试图让lejos(乐高机器人软件)在eclipse中工作,但当我单击eclipse工具栏中的lejos nxj项目并选择upload firmware时,我得到以下错误 Building firmware image. VM file: C:\Program Files (x86)\leJOS NXJ\bin\lejos_nxt_rom.bin Menu file: C:\Program Files (x86)\leJOS NXJ\bin\StartUpText.bin Magic st

因此,我试图让lejos(乐高机器人软件)在eclipse中工作,但当我单击eclipse工具栏中的lejos nxj项目并选择upload firmware时,我得到以下错误

Building firmware image.
VM file: C:\Program Files (x86)\leJOS NXJ\bin\lejos_nxt_rom.bin
Menu file: C:\Program Files (x86)\leJOS NXJ\bin\StartUpText.bin
Magic string found at offset 0x40
VM size: 55712 bytes.
Menu size: 44132 bytes.
Total image size 99940/100352 bytes.
Locating device in firmware update mode.
flashing the firmware failed
lejos.pc.comm.NXTCommException: cannot load library C:\Program Files (x86)\leJOS NXJ\lib\pc\native\jfantom.dll
Caused by lejos.util.jni.JNIException: cannot load library C:\Program Files (x86)\leJOS NXJ\lib\pc\native\jfantom.dll
Caused by java.lang.UnsatisfiedLinkError: C:\Program Files (x86)\leJOS NXJ\lib\pc\native\jfantom.dll: Can't find dependent libraries
See Eclipse error log for detailed stack trace.
任何人都知道发生了什么。我检查了目录,文件就在那里。。。 这是eclipse日志文件的内容

!SESSION 2011-09-03 13:11:11.541 -----------------------------------------------
eclipse.buildId=I20110613-1736
java.version=1.6.0_26
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Command-line arguments:  -os win32 -ws win32 -arch x86_64

!ENTRY org.eclipse.ui 4 4 2011-09-03 13:23:11.783
!MESSAGE Invalid preference page path: XML Syntax
!SESSION 2011-09-03 13:23:13.777 -----------------------------------------------
eclipse.buildId=I20110613-1736
java.version=1.6.0_26
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Command-line arguments:  -os win32 -ws win32 -arch x86_64

!ENTRY org.lejos.nxt.ldt 4 0 2011-09-03 13:29:50.136
!MESSAGE library jfantom.dll (windows/x86_64) was not found in C:\Program Files (x86)\leJOS NXJ\lib\pc\native
!STACK 0
lejos.pc.comm.NXTCommException: library jfantom.dll (windows/x86_64) was not found in C:\Program Files (x86)\leJOS NXJ\lib\pc\native
    at lejos.pc.comm.NXTCommFactory.createNXTComm(NXTCommFactory.java:64)
    at lejos.pc.comm.NXTSamba.search(NXTSamba.java:134)
    at lejos.pc.tools.NXJFlashUpdate.openSambaDevice(NXJFlashUpdate.java:209)
    at lejos.pc.tools.NXJFlash.openDevice(NXJFlash.java:65)
    at lejos.pc.tools.NXJFlash.run(NXJFlash.java:142)
    at lejos.pc.tools.NXJFlash.start(NXJFlash.java:191)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.lejos.nxt.ldt.util.LeJOSNXJUtil.invokeTool(LeJOSNXJUtil.java:400)
    at org.lejos.nxt.ldt.actions.UploadFirmwareAction.flashFirmware(UploadFirmwareAction.java:58)
    at org.lejos.nxt.ldt.actions.UploadFirmwareAction.access$0(UploadFirmwareAction.java:44)
    at org.lejos.nxt.ldt.actions.UploadFirmwareAction$1.run(UploadFirmwareAction.java:37)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: lejos.util.jni.JNIException: library jfantom.dll (windows/x86_64) was not found in C:\Program Files (x86)\leJOS NXJ\lib\pc\native
    at lejos.util.jni.JNILoader.loadLibrary(JNILoader.java:117)
    at lejos.pc.comm.NXTCommFantom.initialize0(NXTCommFantom.java:89)
    at lejos.pc.comm.NXTCommFantom.initialize(NXTCommFantom.java:96)
    at lejos.pc.comm.NXTCommFactory.newNXTCommInstance(NXTCommFactory.java:92)
    at lejos.pc.comm.NXTCommFactory.createNXTComm(NXTCommFactory.java:62)
    ... 14 more

!ENTRY org.lejos.nxt.ldt 4 0 2011-09-03 13:30:42.966
!MESSAGE library jfantom.dll (windows/x86_64) was not found in C:\Program Files (x86)\leJOS NXJ\lib\pc\native
!STACK 0
lejos.pc.comm.NXTCommException: library jfantom.dll (windows/x86_64) was not found in C:\Program Files (x86)\leJOS NXJ\lib\pc\native
    at lejos.pc.comm.NXTCommFactory.createNXTComm(NXTCommFactory.java:64)
    at lejos.pc.comm.NXTSamba.search(NXTSamba.java:134)
    at lejos.pc.tools.NXJFlashUpdate.openSambaDevice(NXJFlashUpdate.java:209)
    at lejos.pc.tools.NXJFlash.openDevice(NXJFlash.java:65)
    at lejos.pc.tools.NXJFlash.run(NXJFlash.java:142)
    at lejos.pc.tools.NXJFlash.start(NXJFlash.java:191)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.lejos.nxt.ldt.util.LeJOSNXJUtil.invokeTool(LeJOSNXJUtil.java:400)
    at org.lejos.nxt.ldt.actions.UploadFirmwareAction.flashFirmware(UploadFirmwareAction.java:58)
    at org.lejos.nxt.ldt.actions.UploadFirmwareAction.access$0(UploadFirmwareAction.java:44)
    at org.lejos.nxt.ldt.actions.UploadFirmwareAction$1.run(UploadFirmwareAction.java:37)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: lejos.util.jni.JNIException: library jfantom.dll (windows/x86_64) was not found in C:\Program Files (x86)\leJOS NXJ\lib\pc\native
    at lejos.util.jni.JNILoader.loadLibrary(JNILoader.java:117)
    at lejos.pc.comm.NXTCommFantom.initialize0(NXTCommFantom.java:89)
    at lejos.pc.comm.NXTCommFantom.initialize(NXTCommFantom.java:96)
    at lejos.pc.comm.NXTCommFactory.newNXTCommInstance(NXTCommFactory.java:92)
    at lejos.pc.comm.NXTCommFactory.createNXTComm(NXTCommFactory.java:62)
    ... 14 more

!ENTRY org.lejos.nxt.ldt 4 0 2011-09-03 13:31:04.653
!MESSAGE library jfantom.dll (windows/x86_64) was not found in C:\Program Files (x86)\leJOS NXJ\lib\pc\native
!STACK 0
lejos.pc.comm.NXTCommException: library jfantom.dll (windows/x86_64) was not found in C:\Program Files (x86)\leJOS NXJ\lib\pc\native
    at lejos.pc.comm.NXTCommFactory.createNXTComm(NXTCommFactory.java:64)
    at lejos.pc.comm.NXTSamba.search(NXTSamba.java:134)
    at lejos.pc.tools.NXJFlashUpdate.openSambaDevice(NXJFlashUpdate.java:209)
    at lejos.pc.tools.NXJFlash.openDevice(NXJFlash.java:65)
    at lejos.pc.tools.NXJFlash.run(NXJFlash.java:142)
    at lejos.pc.tools.NXJFlash.start(NXJFlash.java:191)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.lejos.nxt.ldt.util.LeJOSNXJUtil.invokeTool(LeJOSNXJUtil.java:400)
    at org.lejos.nxt.ldt.actions.UploadFirmwareAction.flashFirmware(UploadFirmwareAction.java:58)
    at org.lejos.nxt.ldt.actions.UploadFirmwareAction.access$0(UploadFirmwareAction.java:44)
    at org.lejos.nxt.ldt.actions.UploadFirmwareAction$1.run(UploadFirmwareAction.java:37)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: lejos.util.jni.JNIException: library jfantom.dll (windows/x86_64) was not found in C:\Program Files (x86)\leJOS NXJ\lib\pc\native
    at lejos.util.jni.JNILoader.loadLibrary(JNILoader.java:117)
    at lejos.pc.comm.NXTCommFantom.initialize0(NXTCommFantom.java:89)
    at lejos.pc.comm.NXTCommFantom.initialize(NXTCommFantom.java:96)
    at lejos.pc.comm.NXTCommFactory.newNXTCommInstance(NXTCommFactory.java:92)
    at lejos.pc.comm.NXTCommFactory.createNXTComm(NXTCommFactory.java:62)
    ... 14 more

!ENTRY org.lejos.nxt.ldt 4 0 2011-09-03 13:37:49.689
!MESSAGE cannot load library C:\Program Files (x86)\leJOS NXJ\lib\pc\native\jfantom.dll
!STACK 0
lejos.pc.comm.NXTCommException: cannot load library C:\Program Files (x86)\leJOS NXJ\lib\pc\native\jfantom.dll
    at lejos.pc.comm.NXTCommFactory.createNXTComm(NXTCommFactory.java:64)
    at lejos.pc.comm.NXTSamba.search(NXTSamba.java:134)
    at lejos.pc.tools.NXJFlashUpdate.openSambaDevice(NXJFlashUpdate.java:209)
    at lejos.pc.tools.NXJFlash.openDevice(NXJFlash.java:65)
    at lejos.pc.tools.NXJFlash.run(NXJFlash.java:142)
    at lejos.pc.tools.NXJFlash.start(NXJFlash.java:191)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.lejos.nxt.ldt.util.LeJOSNXJUtil.invokeTool(LeJOSNXJUtil.java:400)
    at org.lejos.nxt.ldt.actions.UploadFirmwareAction.flashFirmware(UploadFirmwareAction.java:58)
    at org.lejos.nxt.ldt.actions.UploadFirmwareAction.access$0(UploadFirmwareAction.java:44)
    at org.lejos.nxt.ldt.actions.UploadFirmwareAction$1.run(UploadFirmwareAction.java:37)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: lejos.util.jni.JNIException: cannot load library C:\Program Files (x86)\leJOS NXJ\lib\pc\native\jfantom.dll
    at lejos.util.jni.JNILoader.loadLibrary(JNILoader.java:112)
    at lejos.pc.comm.NXTCommFantom.initialize0(NXTCommFantom.java:89)
    at lejos.pc.comm.NXTCommFantom.initialize(NXTCommFantom.java:96)
    at lejos.pc.comm.NXTCommFactory.newNXTCommInstance(NXTCommFactory.java:92)
    at lejos.pc.comm.NXTCommFactory.createNXTComm(NXTCommFactory.java:62)
    ... 14 more
Caused by: java.lang.UnsatisfiedLinkError: C:\Program Files (x86)\leJOS NXJ\lib\pc\native\jfantom.dll: Can't find dependent libraries
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(Unknown Source)
    at java.lang.ClassLoader.loadLibrary(Unknown Source)
    at java.lang.Runtime.load0(Unknown Source)
    at java.lang.System.load(Unknown Source)
    at lejos.util.jni.JNILoader.loadLibrary(JNILoader.java:103)
    ... 18 more
  • 您是否安装了leJOS软件套件
  • 它完全安装了吗
  • 您是否将eclipse指向了正确的32位JDK/JRE
  • 你安装了幻影驱动程序吗

eclipse/window/preferences/leJOS NXJ中的NXJ_HOME是否指向leJOS的正确目录?

java.lang.UnsatisfiedLinkError告诉您,缺少jfantom.dll的依赖项。 一定是这样,您还没有安装Fantom驱动程序。从mindstorms.com下载并安装Fantom驱动程序(最新版本为1.1.3):

或者使用RobotC人员提供的服务(目前为1.2.0):

删除我的64位JRE为我做到了这一点。我不太使用Eclipse/Java,所以我选择了nuke方法