gpt4 book ai didi

java - 在命令行中使用 native 库

转载 作者:太空宇宙 更新时间:2023-11-04 15:05:47 25 4
gpt4 key购买 nike

我已经用 Java 创建了一个使用 JMagick 库的应用程序。我使用 Debian 作为操作系统。

我有以下代码:

    import magick.*;
public class HelloWorldApp {
/**
* @param args
* @throws MagickException
*/
public static void main(String[] args) throws MagickException {
// TODO Auto-generated method stub
ImageInfo info = new ImageInfo("/home/bram/Downloads/verborgenlagen.jpg");
MagickImage converter = new MagickImage(info);
double xRes = converter.getXResolution();
System.out.println("this is a test");
System.out.println(xRes);
}
}

使用 Eclipse,应用程序可以完美运行,并提供正确的输出。我现在的目标是能够通过命令行运行应用程序。

通过命令行编译它就像一个魅力并且不会给出错误:

bram@debian:~/workspace/HelloWorldApp/src$ javac -cp /home/bram/Downloads/jmagick-6.6.9.jar HelloWorldApp.java 

但是当我尝试使用以下命令通过命令行运行应用程序时:

java HelloWorldApp

我收到以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: magick/MagickException
Caused by: java.lang.ClassNotFoundException: magick.MagickException
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)

有什么想法可能导致此问题吗?

最佳答案

运行和编译时,您需要提供包含 jar 文件的类路径。所以:

java -cp /home/bram/Downloads/jmagick-6.6.9.jar HelloWorldApp

应该可以。

关于java - 在命令行中使用 native 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22016197/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com