我用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)
任何可能导致此问题的想法?
答案 0 :(得分:0)
在运行时以及编译时,需要提供带有jar文件的类路径。所以:
java -cp /home/bram/Downloads/jmagick-6.6.9.jar HelloWorldApp
应该有用。