嗨,谢谢你的阅读,
通常与C#工作后,我试着写一些Java代码昨天处理一个XML文件。 我没有使用IDE或任何东西,只是记事本++,SDK和很多谷歌:)
我需要包含一些我发现的jar文件,需要将classpath设置为命令行参数来查找jar文件。 这很好:
javac -cp "./metadata-extractor-2.9.1.jar;./xmpcore-5.1.2.jar" DescribeIt.java
虽然在使用java.exe运行时使用相同的语法,但我的运气不多:
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文件的方式。
代码和生成batch file可以在这里find
非常感谢,
弗洛
哎哟! 问题是参数的顺序(和添加当前目录):
java -cp "metadata-extractor-2.9.1.jar;xmpcore-5.1.2.jar;." DescribeIt