假设我有jni.dll
。它取决于native.dll
。现在我的Java应用程序调用system.loadLibrary(“jni”)
。
下面的文件夹布局工作吗?
MainFolder
|--main.exe
|--SubFolder
|--JNI.dll
|--native.dll
“第一级”:
System.LoadLibrary(“jni”)
使用JVM属性java.library.path
定位jni.dll
。
“第二级”:
这是正确的吗?
如果将%_java_options%
设置为-djava.library.path=mainfolder\subfolder
,我认为它可以覆盖对jni.dll
的搜索。但是它是否也包括对native.dll
的搜索?
从这里看来,我对两个层次的猜测得到了证实:如何在Eclipse启动时将本机库添加到“java.library.path”(而不是重写它)
参见凯文·克莱恩的评论。但是使用LD_LIBRARY_PATH
环境变量的上述解决方案仅适用于Linux。
我想我没有把我的问题说清楚。让我这么说吧。
我的困惑是:jni.dll
依赖于native.dll
。它们都不在main.exe
的当前工作目录中。实际上,它们在CWD的子文件夹中。
但是如果我从Eclipse运行我的项目,除了设置java.library.path
,我还必须将“\mainfolder\subfolder”放在%path%环境变量中。
我只是不知道为什么Eclipse如此不同。
1)在当前目录中搜索。
2)系统文件夹通常为C:\windows\system32(使用CSIDL_SYSTEM和shgetSpecialFolderPath()
获取给定系统上的rigth文件夹)
3)Windows文件夹(C:\Windows)(CSIDL_WINDOWS withshgetSpecialFolderPath()
以获得给定系统上的正确文件夹)
4)PAth environmnet变量下列出的所有文件夹
所以我有一个问题,那就是--Maven似乎忽略了依赖关系,尽管它们在层次结构中应该是可见的。 我有以下项目层次结构: 父级 --proja --sub-parent1 ---projb ---projc 所有级别都通过标记链接。将和声明为模块,没有声明依赖项。但是依赖于。构建整个模块不会构建,这很奇怪,因为知道,而知道,并且知道依赖关系()。但是当我构建整个或例如时,maven不会构建它。 编辑:
我在找一个android gradle Dependancie。 网站http://gradleplease.appspot.com/似乎停止工作。 有类似的网站吗? 否则,搜索特定库的提示?
我正在使用Eclipse Luna和m2e插件。当我搜索依赖项时,我得到以下警告(也请参见后面的截图): 索引下载被禁用,搜索结果可能不完整。 如何启用索引下载?
在我的另一个工作区,对于我现有的项目,我没有这个问题。 有办法解决吗?
12:40:34:正在执行任务“jar”... 任务:包装器 在0s中生成成功1个可操作任务:1个已执行
我们有一个项目a依赖于项目B,项目B依赖于图书馆C。a和B是本地项目,而C是maven central repo的公共图书馆。 波姆。xml用于: 波姆。用于B的xml: 在A中运行mvn dependency:tree-Dverbose时,它不会解析B的依赖项,B中使用的此类依赖项也不会显示在A的Maven依赖项中。这对于编译很好,但在运行时会因为NoClassDefFound错误而失败。 有没