相关疑难解决方法(0)

从内存中释放Selenium chromedriver.exe

我设置了一个python代码来运行Selenium chromedriver.exe.在运行结束时,我必须browser.close()关闭实例.(browser = webdriver.Chrome())我相信它应该chromedriver.exe从内存中释放(我在Windows 7上).但是,每次运行后chromedriver.exe,内存中仍有一个实例.我希望有一种方法可以在python中编写一些东西来杀死chromedriver.exe进程.显然browser.close()不做这项工作.谢谢.

selenium selenium-chromedriver selenium-webdriver

92
推荐指数
11
解决办法
11万
查看次数

Java中System.load()和System.loadLibrary之间的区别

System.load()System.loadLibrary()java 之间有什么区别?

我想加载一个库,但我不想添加环境变量的路径.这些中的任何一个都有帮助吗?

java dynamic-loading

61
推荐指数
1
解决办法
4万
查看次数

我正在使用哪种JRE

有两种JRE可供选择.Java VM:IBM vs Sun.

有没有办法通过java脚本或一些java发出的命令知道我正在使用哪个JRE.

java

52
推荐指数
4
解决办法
18万
查看次数

Windows上的Java JNI和依赖库

长话短说:我有一个可执行的jar,jni.dll它依赖于调用lib.dll.我得到了那么可怕的哦UnsatisfiedLinkError.

这个答案非常接近,但根据我的经验,它无法解决问题.即使指定了dll驻留的文件夹java.library.path,它也不起作用.我也必须更改Windows PATH环境变量.实际上,java.library.pathWindows上的默认设置似乎是PATH.

有没有"漂亮"的方法来解决这个问题?我想为Windows构建一个安装程序,我想知道如何处理这个问题,以便最终用户不必做任何手动工作.

编辑:

我实现的内容如下:应用程序附带一个名为"native_libs"的文件夹,该文件夹具有适用于所有支持的体系结构的动态库.结构如下:

/
+- native_libs/
   +- windows/
   |  +- x86/
   |  |  +- ...
   |  +- x64/
   |     +- ...
   |
   +- linux/
   |  +- x86/
   |  |  +- ...
   |  +- x64/
   |     +- ...
   |
   +- libs/
      +- ...
Run Code Online (Sandbox Code Playgroud)

在运行时,在应用程序初始化时,会检测到正确的JRE体系结构和系统OS,并将正确的库文件复制到libs /文件夹.在java.library.path正在运行时使用一个共同的黑客,以及设置.最后,PATH使用本机启动程序设置Windows 的环境变量.

还有改进的余地吗?也许将dll复制到与jar文件相同的目录中会否定设置java.library.pathPATH变量的需要?我还需要调查加载dll的System.load()方法,否则需要复制文件.

java java-native-interface java.library.path

11
推荐指数
1
解决办法
7815
查看次数

java.lang.UnsatisfiedLinkError:找不到依赖库

我是lp解决的新手.我试图运行以下代码并收到以下错误:

    package package1;

/**
 * Created by ANJANEY on 6/13/2014.
 */

import lpsolve.*;

public class Demo {

    public static void main(String[] args) {
        try {
            // Create a problem with 4 variables and 0 constraints
            LpSolve solver = LpSolve.makeLp(0, 4);

            // add constraints
            solver.strAddConstraint("3 2 2 1", LpSolve.LE, 4);
            solver.strAddConstraint("0 4 3 1", LpSolve.GE, 3);

            // set objective function
            solver.strSetObjFn("2 3 -2 3");

            // solve the problem
            solver.solve();

            // print solution
            System.out.println("Value of objective function: " + solver.getObjective());
            double[] var …
Run Code Online (Sandbox Code Playgroud)

java lpsolve

6
推荐指数
1
解决办法
1万
查看次数

尝试加载JRI时找不到依赖库

我有这段简单的代码试图加载JRI模块.

 public static void main(String... args) {
    System.out.println(System.getProperty("java.library.path").toString());
    System.setProperty("jri.ignore.ule", "yes");
    System.loadLibrary("jri");
}
Run Code Online (Sandbox Code Playgroud)

我将java.library.path作为VM参数传递,但JRI无法加载以下错误:

C:\Users\Abhishek\Documents\R\win-library\3.1\rJava\jri;C:\Users\Abhishek\Documents\R\win-library\3.1\rJava
Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Users\Abhishek\Documents\R\win-library\3.1\rJava\jri\jri.dll: Can't find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1929)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1847)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1119)
at pack.TestJRI.main(TestJRI.java:10)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
Run Code Online (Sandbox Code Playgroud)

在此先感谢您的帮助.

r jri

6
推荐指数
1
解决办法
1349
查看次数

Java.lang.UnsatisfiedLinkError:找不到 int 的实现

我执行了 youtube watch me android 应用程序项目。我只是在我的项目中添加了一些类并使用 ndk 构建。我得到了这样的错误

java.lang.UnsatisfiedLinkError:找不到 int com.ephronsystem.mobilizerapp.Ffmpeg.encodeVideoFrame(byte[]) 的实现(尝试了 Java_com_ephronsystem_mobilizerapp_Ffmpeg_encodeVideoFrame 和 Java_com_ephronsystem_mobilizerapp_Ffmpeg_encodeVideoFrame___3B)。

我的代码:

package com.ephronsystem.mobilizerapp;

public class Ffmpeg {

     static {
        System.loadLibrary("ffmpeg");
    }

    public static native boolean init(int width, int height, int audio_sample_rate, String rtmpUrl);

    public static native void shutdown();

    // Returns the size of the encoded frame.
    public static native int encodeVideoFrame(byte[] yuv_image);

    public static native int encodeAudioFrame(short[] audio_data, int length);
}
Run Code Online (Sandbox Code Playgroud)

这是 ffmpeg-jni.c

 #include <android/log.h>
#include <string.h>
#include <jni.h>
#include "libavcodec/avcodec.h"
#include "libavformat/avformat.h"
#include "libavutil/opt.h" …
Run Code Online (Sandbox Code Playgroud)

java-native-interface android ffmpeg youtube-api android-ndk

5
推荐指数
1
解决办法
2万
查看次数

如果没有System32,如何解决“ java.lang.UnsatisfiedLinkError:找不到依赖库”?

我正在Eclipse上进行Java项目,该项目通过JNI使用C ++ OpenCV库。一些图像处理算法是通过本机端的OpenCV实现的,我希望使用JNI在Java中使用它们。

我已经建立了一个C ++ DLL项目以链接到Java,从而生成了一个MyLibrary.dll文件。我用GCC 6.3编译器编译了OpenCV,然后在Eclipse CDT(以及MinGW Linker)上用相同的GCC 6.3编译器编译了C ++代码。我还使用Dependency Walker检查了是否存在任何依赖问题。到目前为止,我没有任何错误。

之后,我尝试从Java代码加载库,如下所示:
System.loadLibrary("MyLibrary")

我已经使用设置了路径-Djava.library.path=path\to\MyLibrary,并确保JVM知道本机库的地址。我还在旁边添加了所需的OpenCV库MyLibrary.dll

但是我收到以下错误:

Exception in thread "main" java.lang.UnsatisfiedLinkError: MyLibrary.dll: Can't find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
...
Run Code Online (Sandbox Code Playgroud)

然后,当我将相关的OpenCV库移入该System32文件夹时,问题就消失了。

我的问题是;如何在不将所需DLL文件移动System32文件夹的情况下解决此问题?

c++ java windows java-native-interface opencv

2
推荐指数
1
解决办法
9351
查看次数

Java LoadLibrary 未解决依赖关系,但依赖的 dll 位于同一目录中

我在 Java 加载本机 dll 时遇到问题,因为它发生在 64 位 Windows 7 上。FWIW 包是 ZeroMQ,但重要的是该 jar 需要加载本机 dll,称为 jzmq.dll。这又取决于 libzmq.dll (和一些标准库)。我已将两个 dll 复制到 target/lib 并设置java.language.path为 target/lib。

如果我写:

System.loadLibrary("jzmq");
Run Code Online (Sandbox Code Playgroud)

我得到UnsatisfiedLinkError一个Can't find dependent libraries. 但是如果我说

System.loadLibrary("libzmq");
System.loadLibrary("jzmq");
Run Code Online (Sandbox Code Playgroud)

然后就没问题了,jzmq.dll加载成功。

在随附的 jar 中,它就包含在内System.loadLibrary("jzmq"),我不想在代码中摆弄依赖项。我不清楚为什么依赖项不会自动加载,也不清楚我需要做什么才能让它正常工作。

预先感谢您的任何帮助!

java dll java-native-interface

0
推荐指数
1
解决办法
1379
查看次数