当前位置: 首页 > 知识库问答 >
问题:

Scala/Java JNA检查sharedobject可用性

经正祥
2023-03-14

我正在编写一个Scala程序,它使用通过JNA加载的C++共享对象来调用一些我们用C++编写的自定义文件读取函数,并且不希望维护Java/Scala副本。该程序只需要与Linux兼容。

我的问题是,检查共享对象是否可用的适当方法是什么?如果用户忘记将共享对象添加到他们的LD_LIBRARY_PATH中,那么当他们尝试使用其中的某些功能时,GUI将崩溃。我希望在启动时进行检查,以确保共享对象可用--我可以尝试进行读取,然后捕捉任何错误,但这需要读取文件,而且感觉不是正确的方法。

有什么想法吗?非常感谢。

共有1个答案

壤驷阳波
2023-03-14

如果通过JNA加载,那么如果JNA找不到库或由于缺少依赖项而无法加载库,则可以依赖JNA抛出UnsatisfiedLinkError。

system.loadLibrarysystem.load依赖于java.library.path,后者或多或少是从ld_library_path初始化的,与JNA的JNA.library.path不完全相同(可以通过该变量动态引导JNA搜索更多位置)。

 类似资料:
  • 问题内容: 我有一个用户登录表格: 我想在:user- field失去焦点之后立即检查数据库中是否存在用户名。我可以使用javascript在表单上覆盖此事件,但是无法从javascipt代码发送Ruby- AJAX请求。 有什么方法可以在不添加表单上其他控件(按钮,链接)的情况下检查用户名? 问题答案: 由于什么原因,您不能从javascript代码发送ajax请求? 最好的方法是在失去焦点时发

  • 我只想问一下如何在Spark中成功使用checkpointInterval的细节。你在ALS代码中的这个注释是什么意思https://github.com/apache/spark/blob/master/mllib/src/main/scala/org/apache/spark/mllib/recommendation/ALS.scala 如果未在[[org . Apache . spark .

  • 问题内容: 如何使用Java检查服务?我找到了这篇文章,但这仅用于检查主机名。 我的问题是如何检查端口x上的服务是否在运行,例如ex 或or ,我可能正在这些端口上运行服务n或p,但是如果手动进行操作,则可以通过网络看到它,如何在java中达到相同的效果? 问题答案: 该代码段发送了一个ping,您无法对其进行操作以实现所需的功能。只需打开一个套接字并捕获任何异常。 如果需要检测正在运行的服务,则

  • 问题内容: 我正在尝试将ScalaTest合并到我的Java项目中。用ScalaTests替换所有JUnit测试。一方面,我想检查Guice的Injector是否注入正确的类型。在Java中,我有这样的测试: 但是我在使用ScalaTest做同样的问题: 它抱怨说,价值是不是成员/ / 。我不能在Scala中使用这种方式吗? 问题答案: Scala不是Java。Scala只是没有运算符,而是有一个

  • 有人能解释一下<code>是可选的</code>如何帮助我们避免<code>NullPointerException</code>吗? 这段代码不是也容易出现<code>NullPointerException</code>吗?如果是这样的话,那么为什么这个代码比其他代码更受欢迎 除了帮助我们了解函数是否实际具有返回值之外,还提供了什么可能的好处

  • 有人能解释一下如何帮助我们避免? 这段代码不是也容易出现吗?如果是这样的话,那么为什么这个代码比 除了帮助我们了解函数是否实际具有返回值之外,还有什么可能的好处