关于java jni编译javac javah的问题

2014-11-24 07:11:48 · 作者: · 浏览: 0
javac 编译class文件命令,需要注意的是当类B中import类A时,在编译B时要包含A的路径,如
  project src com.jl.test A.java
  com.jl.test2 B.java
  B中importA,在编译B时应该 : javac -cp ~/project/src B.java (-cp :classpath简称,要保证~/project/src 下能找到如B中描述的 import com.jl.test.A;)(~/project/src 为相对路径,在linux下是相对路径,windows下可写绝对路径,如D:/project/src)
  javah 将class文件编译成。h文件,保证文件中包含native方法,主要完成调编译成的so文件。
  退到src 下,或者你的包名外的目录,"com"外,执行 javah -jni com.jl.test2.B, (不带class扩展名,自动默认找class文件)
  ok
  会在com路径外生成 Java_com_jl_test2_B.h
  如果在编译中还报导入第三方包的文件报错可以先注释掉报错文件再编译。

作者 sdtarena