我的Java FX2应用程序配置了一个串行设备,作为部署的一部分,它必须安装一个Windows设备驱动程序,并将本机LIB(RxTx串行端口LIB)复制到Java DIRS中。
Java Web Start能处理它吗?或者用户应该分阶段进行:手动安装驱动程序,然后复制到libs,然后通过Web start安装应用程序。
更新:下面的myapp.jar是自签名的。我把dll放在项目名称下。我在JNLP中为dll添加了这一行。我使用的是NetBeans7.3,所以把VM args行放进去。我的jnlp如下所示:
<resources>
<j2se version="1.6+" java-vm-args="-Djava.library.path=. " href="http://java.sun.com/products/autodl/j2se"/>
<jar href="MyApp.jar" size="216992" download="eager" />
<jar href="lib/RXTXcomm.jar" size="66493" download="eager" />
<nativelib href="rxtxSerial.dll" size="122880" download="eager" />
</resources>
<security>
<all-permissions/>
</security>
我可以在Netbeans IDE中运行该应用程序。但是,单击jnlp,我会弹出“运行时错误”。它要求我点击查看细节,但没有显示任何内容。我在Java控制面板中的临时Internet文件中删除了前面的JNLP。在Java控制台中,我什么也没看到。
@AndrewThompson我试着Janela检查JNLP。有用的工具!我看到dll没有进入dist文件夹。jnlp由NB7.3生成。有什么办法让它加入Nativelib的行列吗?我每次都得手动做。`
JaNeLA报告-版本11.05.17
文件的报告:/d:/profiles/anil/my%20documents/netbeansprojects/myapp/dist/myapp.jnlp
内容类型application/xml不等于预期的application/x-java-jnlp-file cvc-complex-type.2.4.A:从元素'jfx:javafx-runtime'开始发现无效内容。应为“{java,j2se,jar,nativelib,extension,property,package}”之一。cvc-complex-type.2.4.a:从元素'jfx:javafx-runtime'开始发现无效内容。应为“{java,j2se,jar,nativelib,extension,property,package}”之一。CVC-complex-type.2.4.A:发现以“security”元素开始的无效内容。“{resources,application-desc,applet-desc,component-desc,installer-desc}”之一是必需的。CVC-complex-type.2.4.A:发现以“security”元素开始的无效内容。“{resources,application-desc,applet-desc,component-desc,installer-desc}”之一是必需的。XML编码未知,但未指定声明为utf-8代码库。默认为file://d://profiles/anil/my%20documents/netbeansprojects/myapp/dist/myapp.jar上的资源下载可以通过删除download='eager'的(默认)值来优化。可以通过删除main='false'的(默认)值来优化在myapp.jar下载的资源。也许可以优化应用程序的启动。通过为myapp.jar资源指定download='lazy'。除非指定了下载“part”,否则惰性下载可能无法像预期的那样为myapp.jar工作。资源“lib/rxtxcomm.jar”声明为大小“66490”,但实际上是“66512”。可以通过删除download='eager'的(默认)值来优化lib/rxtxcomm.jar上的资源下载。可以通过删除main='false'的(默认)值来优化lib/rxtxcomm.jar上的资源下载。也许可以优化应用程序的启动。通过为lib/rxtxcomm.jar资源指定download='lazy'。除非指定了下载“part”,否则惰性下载可能无法按照lib/rxtxcomm.jar的预期工作。获取资源rxtxSerial.dll时出现问题。D:\profiles\anil\my documents\netbeansprojects\myapp\dist\rxtxserial.dll(系统找不到指定的文件)`
我将dll放入jar中,并添加System.LoadLibrary(“./rxtxserial”);
也失败了。
只要你留在沙箱里(未签名的应用程序),你就不能访问本地文件系统。关于设备驱动程序安装,我想一个签名的应用程序也可以做到这一点,但它可能会触发Windows确认。
参见http://docs.oracle.com/javase/tutorial/deployment/doingmorewithria/security.html
如何以编程方式将文件从手机内部存储器传输到USB驱动器?我没有获得获取外部目录所需的代码。 上面发布的代码仅获取SD卡位置。如何访问USB驱动器?
我最近下载了12c oracle客户端64位(安装过程中包含ODBC驱动程序)。 之后,我打开了32位和64位的ODBC administrators,只有64位的ODBC administrators列出了Oracle驱动程序(添加新系统DSN时),这使我假设只包含64位Oracle驱动程序;但是,查看文件名。。。它被命名为SQORA32。DLL。这仍然是64位odbc驱动程序吗?我可以忽略这个
问题内容: 我尝试将其与Java SDK一起在家里安装… SDK运行良好,现在我可以使用命令提示符将Java程序编译为类… 但是我不确定如何测试JDBC是否正在连接到我的服务器/数据库/ mysql。 感觉我的服务器(这是一个共享的网站/网络主机)可能不允许连接… 我如何测试JDBC正确安装而不必连接到服务器? 然后,如何测试(请使用单独的代码)JDBC(现已确认有效)正在连接到我的数据库? 非常
问题内容: 介绍 我听说过一些有关用Java编写设备驱动程序的信息(听说是“用我的耳朵”,而不是通过互联网),我想知道…我一直认为设备驱动程序在操作系统级别上运行,因此必须以相同的语言编写作为操作系统(因此大多是CI假设) 问题 我通常会对此假设有误吗?(看起来是这样) OS中如何使用“外来”语言的驱动程序? 无论如何(从编程语言的角度)对设备驱动程序有什么要求? 谢谢阅读 问题答案: 有两种方法
我有一个以.NET标准1.5为目标的项目,它作为几个DLL部署在Nuget上。该项目是从Java移植而来的。在项目的一些类中,有静态的方法,这些方法是从命令行运行的。 null 我想知道的是,有没有一种方法来编译DLL,这样它就可以在没有两个独立的(混乱的)DLL的情况下使用? 基本上,我试图获得与Java中类似的功能,在Java中,包可以被应用程序引用或在命令行上运行(并在命令行上指定入口目标)
但是,当我从file explorer双击jar文件时,没有发生任何事情,没有启动任何控制台,也没有运行任何进程。我错过了什么?