nfm*_*nfm 2 java directory-structure libraries
我是Java的新手,并试图弄清楚如何构建程序的文件.
我已经下载了一个库(jnotify),它包含jarJava源代码的a 和zip.
到目前为止,我只是通过将jnotify的源提取到程序的顶级目录来完成我的程序.所以jnotify的源文件到处都是,我的程序代码在子目录中.
$ ls /path/to/project
CHANGELOG
inotify-syscalls.h
jnotify_64bit.dll
jnotify.dll
libnotify.so
my-projects-actual-files/
net/
README
... etc
Run Code Online (Sandbox Code Playgroud)
我像这样导入jnotify:
# myprogram/program.java
import net.contentobjects.jnotify.*;
... code body here ...
Run Code Online (Sandbox Code Playgroud)
并通过明确设置运行它java.library.path:
$ java -Djava.library.path=. myprogram/Program
Run Code Online (Sandbox Code Playgroud)
这感觉不对,但我不知道Java组织源文件和库的方式是什么.
我怎样才能结束我的程序结构,以便jnotify生活在类似lib/jnotify但可以导入,编译和合理运行的东西中?
jar应该只在类路径上,库路径指定dll所在的位置.
java -classpath lib/jnotify.jar;.-Djava.library.path = lib/myprogram/Program
除非需要调试jnotify代码,否则不应解压缩源代码.