发布网友 发布时间:2022-04-22 08:20
共3个回答
热心网友 时间:2022-06-18 12:41
DLL默认是读取Windows环境变量%PATH%,Linux也有一个LD开头的变量(忘记叫什么名字)。而我们随时可以通过-Djava.library.path=定制我们的loadlibrary路径搜索列表。把你的dll复制到到处都是不是一个推荐的方法,这会导致当我们有多个版本时出错或你换了版本时不知道具体有多少个地方未忘记替换,正确的方法是让-Djava.library.path中包括你的目录,这便于集中管理。另外作为native程序(VC,VB之类的非虚拟机程序)它们默认会把当前目录作为搜索目录,记住Java不会默认把当前目录当作搜索目录,如果你偶然发现是这样的那是因为环境变量CLASSPATH或PATH中包括了一个"."在里面,而这个”."是安装JRE时自动添加或你手工添加的,有些程序的bat批处理文件中使用当前目录,但当我们在bat中通过cd命令改变了当前目录时我们再用”重启“的功能再启动命令行时我们就应该小心留言到这个当前目录已经变化了。另外JavaBuildPath(Java构建路径)下添加jar包这个过程本身只是为”Build"构建准备的,当我们在“Run"运行的时候是不相关的(只是Eclipse会自动把JavaBuildPath转换在运行一个mainclass时的classpath,当我们手工运行mainclass命令行时我们还是得自己添加classpath,因此始终明白这个JavaBuildPath并不一定能解决Run的问题)。热心网友 时间:2022-06-18 12:41
DLL默认是读取Windows环境变量%PATH%,Linux也有一个LD开头的变量(忘记叫什么名字)。而我们随时可以通过-Djava.library.path=定制我们的loadlibrary路径搜索列表。把你的dll复制到到处都是不是一个推荐的方法,这会导致当我们有多个版本时出错或你换了版本时不知道具体有多少个地方未忘记替换,正确的方法是让-Djava.library.path中包括你的目录,这便于集中管理。另外作为native程序(VC,VB之类的非虚拟机程序)它们默认会把当前目录作为搜索目录,记住Java不会默认把当前目录当作搜索目录,如果你偶然发现是这样的那是因为环境变量CLASSPATH或PATH中包括了一个"."在里面,而这个”."热心网友 时间:2022-06-18 12:41
PATH 环境中找不到该库 .dll