Classpath选项适用于javac但不适用于java(Windows) [英] Classpath option works for javac but not for java (Windows)

查看:214
本文介绍了Classpath选项适用于javac但不适用于java(Windows)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

感谢您的阅读,

通常使用C#后,我昨天尝试编写一些java代码来处理XML文件。我没有使用IDE或任何东西,只有Notepad ++,SDK和很多Google:)

after usually working with C# I tried writing some java code yesterday to process an XML file. I didn't use an IDE or anything, just Notepad++, SDK and a lot of Google :)

我需要包含一些我发现的jar文件,需要将类路径设置为命令行参数以查找jar文件。这很有效:

I needed to include some jar files for which I found out, that one needs to set the classpath as a command line parameter to find the jar file. That worked well:

javac -cp "./metadata-extractor-2.9.1.jar;./xmpcore-5.1.2.jar" DescribeIt.java

虽然在使用java.exe运行它时使用了相同的语法运气不佳:

Although using the same syntax when running it with java.exe I had less luck:

java DescribeIt -cp "./metadata-extractor-2.9.1.jar;./xmpcore-5.1.2.jar" 

导致

Exception in thread "main" java.lang.NoClassDefFoundError: com/drewimaging/ImageMetadataReader at DescribeIt.main(DescribeIt.java:53)
Caused by: java.lang.ClassNotFoundException: com.drew.imaging.ImageMetadataReader
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        ... 1 more

当我解压缩jar文件时,它完全正常,但我想这不是jar文件的使用方式。

When I unzip the jar files, it works perfectly fine, but I guess that's not the way jar files are supposed to be used.

可以在这里找到代码和构建批处理文件

Code and build batch file can be found here

非常感谢,

Flo

推荐答案

哎哟!问题是参数的顺序(并添加当前目录):

Ouch! The problem was the order of parameters (and adding the current directory):

java -cp "metadata-extractor-2.9.1.jar;xmpcore-5.1.2.jar;." DescribeIt 

这篇关于Classpath选项适用于javac但不适用于java(Windows)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆