2014-02-25 44 views
1

我在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的应用程序完美的作品,并给出正确的输出。我现在的目标是能够通过命令行运行应用程序。

通过命令行编译它就像一个魅力,并给出任何错误:

[email protected]:~/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

您需要在运行时以及在编译时提供带有jar文件的类路径。所以:

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

应该工作。

+0

我试过了,并且得到了以下错误: 线程“main”中的异常java.lang.NoClassDefFoundError:HelloWorldApp引起来自:java.lang.ClassNotFoundException:HelloWorldApp在java.net.URLClassLoader $ 1.run(URLClassLoader.java :217) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at java.lang.ClassLoader.loadClass(ClassLoader.java:321 \t at sun。):java.security.AccessController.doPrivileged(Native Method) misc.Launcher $ AppClassLoader.loadClass(Launcher.java:294)at java.lang.ClassLoader.loadClass(ClassLoader.java:266)找不到主类:HelloWorldApp。程序将退出 – brasay

+0

您是否从'〜〜/workspace/HelloWorldApp' – Kojotak

+0

是的,我做了,它仍然给出同样的错误,我不知道什么可能b引起这一点。 – brasay

相关问题