当前位置: 首页 > 面试题库 >

在Netbeans中包括本机库

葛勇锐
2023-03-14
问题内容

我正在尝试从Java签名的applet中读取便携式设备。…我在http://code.google.com/p/jmtp/w/list上找到了一个jmtp库
,可以访问便携式设备,但是当我在其中运行时netbeans它给出了错误

    线程“主”中的异常java.lang.UnsatisfiedLinkError:java.library.path中没有jmtp
        在java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860)
        在java.lang.Runtime.loadLibrary0(Runtime.java:845)
        在java.lang.System.loadLibrary(System.java:1084)
        在jmtp.PortableDeviceManagerImplWin32。(PortableDeviceManagerImplWin32.java:38)
        在jmtp.PortableDeviceManager。(PortableDeviceManager.java:34)
        在jmtp.Jmtp.main(Jmtp.java:23)
    Java结果:1

我搜索后发现,我必须将.dll文件作为本机库包含在jmtp项目中…我右键单击项目并导航至属性,然后选择“运行”和“选择的VM选项”作为

-Djava.library.path =“ c:\ jmtp \ native \ windows”

并将该jmtp.dll文件放置在c:\ jmtp文件夹中

但是相同的错误不断出现我的代码是

    软件包jmtp;




import jmtp.PortableDevice;
import jmtp.PortableDeviceManager;
import jmtp.PortableDeviceObject;
import jmtp.PortableDeviceStorageObject;

public class Jmtp {

    public static void main(String[] args) {
        PortableDeviceManager manager = new PortableDeviceManager();
        PortableDevice device = manager.getDevices()[0];

        // Connect to my mp3-player
        device.open();
        System.out.println(device.getModel());
        System.out.println("---------------");

        // Iterate over deviceObjects
        for(PortableDeviceObject object : device.getRootObjects()) {

            // If the object is a storage object
            if(object instanceof PortableDeviceStorageObject) {
                PortableDeviceStorageObject storage = (PortableDeviceStorageObject)object;

                for(PortableDeviceObject o2 :  storage.getChildObjects()){
                    System.out.println(o2.getName());
                 }              
            }
        }
        manager.getDevices()[0].close();

    }
}

请告诉我问题是什么


问题答案:

最后,我找到了解决方案,为了包括本机库,我们需要在netbeans中添加以下步骤

     ==>右键单击项目
     ==>属性
     ==>单击运行
     ==> VM选项:-Djava.library.path =“ C:\您存在Dll的目录”
     ==>好


 类似资料:
  • 问题内容: 我正在尝试从Java签名的applet中读取便携式设备。…我在http://code.google.com/p/jmtp/w/list上找到了一个jmtp库 ,可以访问便携式设备,但是当我在其中运行时netbeans它给出了错误 我搜索后发现,我必须将.dll文件作为本机库包含在jmtp项目中…我右键单击项目并导航至属性,然后选择“运行”和“选择的VM选项”作为 并将该jmtp.dll

  • 在android Studio上使用flutter构建我的应用程序,当我上传我的应用程序包(通过制作时,会弹出消息: 我已经尝试了目前在线的所有解决方案来解决这个问题。以下各项的每种组合: 这些解决方案: https://github.com/flutter/flutter/issues/60240#issuecomment-894683946 https://github.com/flutter

  • 我真正需要的是Eclipse与Netbeans的等价物: 我想,这样我就可以分发它,而无需将lib文件夹包含到任何地方。 这是最初的问题。 我试图建立一个罐子出来的网豆,将包装所有的库文件在里面。我听说选择导出可以使用Eclipse。使用Netbean,如果我“清理并构建”,它将在dist文件夹中创建一个可执行的jar,但是它所依赖的所有库都在一个名为lib的文件夹中。我需要它都在一个jar文件中

  • 我试图在我的简单Groovy脚本中使用“httpBuilder”。当我使用'@grab'导入依赖项时,一切都运行良好。但是,我希望将jar保存在一个不同的目录中,并使用classLoader函数导入它。我已经复制了“@grab”放在我的grapes目录中的“http-builder-0.7.jar”,并将其粘贴到我的Groovy脚本运行的同一目录中(在Windows上)。然后注释掉“@Grab”语

  • 在我的Windows10(x64)笔记本电脑上,我安装了JDK8.151(x64)并将jre bin和jdk bin路径添加到环境变量中PATH下的系统变量中。然而,当我从Netbeans的网站安装Netbeans 8.2(x64)(JavaSE)版本并运行它时,出现了一个错误:无法从路径:native/jnilib/windows/windows-x64.dll加载本机库

  • 我是编程的新手,有基本的知识,我喜欢Java。 我想写一个代码,不使用循环就能计算一个数字的N次方。我一直在尝试使用“Commons Lang”中的repeat方法,这是我4天前了解到的。 到目前为止,我下载了commons-lang3-3.1文件夹,然后将该文件夹与我的项目放在同一文件夹中,并通过以下方法将jar文件添加到我的项目库中:- 右键单击库 1,然后添加jar/folder 2,然后打