我已经陷入了类 ->标题文件几天!
我曾经在客户端上尝试过http://netbeans.org/kb/docs/cnd/beginning-jni-linux.html和http://ringlord.com/jni-howto.html。它取得了成功的回报" Hello Jni C ",来自JNI(.cpp)文件。这是我的步骤:
- 创建本地函数和client.java
- clean&在Netbeans IDE上构建此客户端。然后结果client.class文件
- javah –jni [package]。[className]
- 创建一个动态库C 项目作为第一个引用,然后将客户端。li>
但是,我试图在servlet方面做同样的事情,但它不起作用
- servlet.java-> servlet.class:ok!
- Servlet.Class--> Servlet.H:失败!!!错误:无法访问Javax.servlet.genericservletJavax.servlet.genericservlet的类文件
以下是我已经找到并尝试过的解决方案,
-
检查软件包名称
-
sudo gedit/etc/profile,sudo gedit .bashrc,sudo/etc/cromient;添加java_home&它们上的classpath,然后将它们源为更新,然后echo $ java_home,echo $ classpath以验证
- 下载Servlet-Api-6.0.14.jar&Servlet-api-5.0.16.jar,来自http://www.jarfinder.com/index.php/java/info/javax.servlet.genericservlet,并添加NetBeans IDE-> server-> property-> libraries->添加两个(.jar)的上方(.jar) ->添加jar
请告诉我如何弄清楚这个问题,非常感谢!!!!!!!!!!
nativewrapper.java(仅在此类上运行 javah
)
class NativeWrapper {
// either
static {
System.loadLibrary("MyOpenCVNative");
}
// or
public NativeWrapper() {
System.loadLibrary("MyOpenCVNative");
}
public native void callNative();
}
myservlet.java
class MyServlet extends javax.servlet.GenericServlet {
private NativeWrapper nativeWrapper = new NativeWrapper();
public void someServletMethod() {
nativeWrapper.callNative();
}
}