Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Restful服务器找不到JNI共享对象文件_Java_Eclipse_Rest_Java Native Interface - Fatal编程技术网

Java Restful服务器找不到JNI共享对象文件

Java Restful服务器找不到JNI共享对象文件,java,eclipse,rest,java-native-interface,Java,Eclipse,Rest,Java Native Interface,这是我的问题- 我已经创建了restful服务器,并对其进行了修改,以使用JNI功能在我的项目中调用本机C文件中的函数 目前我有两个班在我的项目 java-它可以调用Hello.c类中的函数 成功(当我作为java应用程序运行时) java-这是一个restful服务器,在运行时运行良好 服务器并显示相关内容。但当我尝试创建对象时 对于Server.java中的HelloJNI.java,它显示以下错误 javax.servlet.ServletException: java.lang.Unsa

这是我的问题- 我已经创建了restful服务器,并对其进行了修改,以使用JNI功能在我的项目中调用本机C文件中的函数

目前我有两个班在我的项目

  • java-它可以调用Hello.c类中的函数 成功(当我作为java应用程序运行时)
  • java-这是一个restful服务器,在运行时运行良好 服务器并显示相关内容。但当我尝试创建对象时 对于Server.java中的HelloJNI.java,它显示以下错误

    javax.servlet.ServletException: java.lang.UnsatisfiedLinkError: no
    hello in java.library.path
    
  • hello是我的共享文件对象,创建它是为了让JNI在HelloJNI.java中工作

    Eclipse只能在运行HelloJNI.java时识别libhello.so文件,但在运行Server.java时不能识别libhello.so文件

    我确实将libhello.so文件路径添加到了本机库位置

    项目->属性->Java构建路径->JRE系统库

    有人能指导我设置java路径,从Server.java调用HelloJNI.java吗


    我在Ubuntu 12.04上使用eclipse。

    您使用什么应用程序服务器/servlet容器?我在使用Tomcat服务器当Tomcat启动时,您需要更改-Djava.library.path以包括您放置.so文件的位置。或者,您可以通过
    system.getProperty(“java.library.path”)
    检查现有系统属性是什么,并将.so放在该位置。但是,请注意,如果您的本机代码爆炸并导致seg故障,它将完全关闭您的tomcat服务器。@Samhain-谢谢您的建议。是否有任何地方可以对Eclipse环境进行更改以使其正常工作?我希望我的服务器找到JNI共享对象libhello.so。在哪里可以将其添加到java库路径?您可以通过双击服务器选项卡下的服务器并选择“打开启动配置”选项,将
    -Djava.library.path=
    添加到tomcat启动中。您应该能够从那里将其添加到参数中。