我是 Java 新手,正在尝试弄清楚如何构建我的程序文件。
我下载了一个库 ( jnotify ),其中包含 jar
和 Java 源代码的 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
我像这样导入 jnotify:
# myprogram/program.java
import net.contentobjects.jnotify.*;
... code body here ...
并通过显式设置java.library.path
来运行它:
$ java -Djava.library.path=. myprogram/Program
这感觉不对,但我不知道 Java 组织源文件和库的方式是什么。
如何整理我的程序结构,以便 jnotify
存在于 lib/jnotify
之类的东西中,但可以合理地导入、编译和运行?
最佳答案
jar 应该位于类路径上,库路径指定 dll 所在的位置。
java -classpath lib/jnotify.jar;。 -Djava.library.path=lib/myprogram/Program
您不应该解压缩源代码,除非您需要调试 jnotify 代码。
关于java - 我应该将外部 Java 库放在程序的目录结构中的什么位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5287299/