# 编译(多个jar包,用英文冒号分隔,多级包目录也可以编译打包,例如com/sun/test/xxx.java)
javac -classpath ./jna-5.5.0.jar:xxx.jar:xxxx.jar ./test/*.java
# Java文件中的包引用路径为 package com.sun.test;
javac -classpath ./jna-5.5.0.jar:xxx.jar:xxxx.jar ./com/sun/test/*.java
# 打包(将test目录下的class文件打包,生成test.jar文件,其中的test目录可为多层级,目录要与java文件中的package路径要保持一致,例如 目录层级为com/sun/test,则包引用为 package com.sun.test; )
jar cvf test.jar test/*.class
jar cvf test.jar ./com # 对整个com目录打包
# 执行(选择classpath目录下的ar包中的所有class文件,指定类名运行)
java -cp ./jna-5.5.0.jar:./test.jar test.TestNodeApi
java -cp ./jna-5.5.0.jar:./test.jar com.sun.test.TestNodeApi
#####################【JNI相关命令】############################
# 1、从Java文件中编译出C/C++的头文件命令(注意:加上或修改包名后,生成的头文件中的方法名有变化)
javac NodeTest.java -h .
# 2、JDK的C/C++的头文件所在目录有2个如下(包含jni.h、jni_md.h)
# X:\Program Files\Java\jdk1.8.xxx\include\win32
# X:\Program Files\Java\jdk1.8.xxx\include
# 3、平台调用链路库类型说明
# Windows编译输出的是dll库,例如 xxx.dll
# linux编译输出的是so库,例如 xxx.so
Java通过JNI调用C/C++参考教程地址: