提取 .jpg 元数据/元数据提取器/exif/java
extract .jpg metadata / metadata-extractor / exif / java
我想说明日期,特别是 picture.jpg 拍摄的时间。我在网上发现我可以用(元数据提取器)处理这个问题,但无论我尝试什么都没有效果。
你能指导我使用这个工具的最简单方法吗?
我的试炼是这样的
public class ImageMetadata{
public static void main(String[] arg){
Metadata metadata = null;
try{
FileInputStream InputStream
= new FileInputStream(
"X://2015//Java//renamePict//pict/IMGP0092.JPG");
metadata = ImageMetadataReader.readMetadata(InputStream);
} catch(Exception Ex) {ex.printStackTrace;}
System.out.println(metadata); // I know that perhaps I should use here some toString(). It is just try to check the compilation.
}
}
这给我带来了:
Exception in thread "main" java.lang.NoClassDefFoundError: com/adobe/xmp/XMPException
at com.drew.imaging.jpeg.JpegMetadataReader.<clinit>(JpegMetadataReader.java:53)
at com.drew.imaging.ImageMetadataReader.readMetadata(ImageMetadataReader.java:98)
at ImageMetadata.main(ImageMetadata.java:57)
Caused by: java.lang.ClassNotFoundException: com.adobe.xmp.XMPException
at java.net.URLClassLoader.run(URLClassLoader.java:366)
at java.net.URLClassLoader.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 3 more
Java 结果:1
构建成功(总时间:1 秒)
Link 到
提前致谢!
我认为您缺少 xmpcore 依赖项,如果您使用的是 maven,那么这里有这个工件:http://mvnrepository.com/artifact/com.adobe.xmp/xmpcore
<dependency>
<groupId>com.adobe.xmp</groupId>
<artifactId>xmpcore</artifactId>
<version>5.1.2</version>
</dependency>
将 xmp-core
库添加到您的项目中。请考虑您需要的 xmp-core 版本。按照以下步骤获取 xmp-core 5.1.2 版本。
如果您正在使用 ant
构建器,请下载以下 jar 文件并添加到您的项目中。
如果您使用的是 Maven,请将以下依赖项添加到您的 pom.xml
<dependency>
<groupId>com.adobe.xmp</groupId>
<artifactId>xmpcore</artifactId>
<version>5.1.2</version>
</dependency>
使用this url访问xmp代码库的maven仓库。
如果您使用 Maven 引用 metadata-extractor
,将自动获取对 XmpCore 的引用。
我想说明日期,特别是 picture.jpg 拍摄的时间。我在网上发现我可以用(元数据提取器)处理这个问题,但无论我尝试什么都没有效果。 你能指导我使用这个工具的最简单方法吗?
我的试炼是这样的
public class ImageMetadata{
public static void main(String[] arg){
Metadata metadata = null;
try{
FileInputStream InputStream
= new FileInputStream(
"X://2015//Java//renamePict//pict/IMGP0092.JPG");
metadata = ImageMetadataReader.readMetadata(InputStream);
} catch(Exception Ex) {ex.printStackTrace;}
System.out.println(metadata); // I know that perhaps I should use here some toString(). It is just try to check the compilation.
}
}
这给我带来了:
Exception in thread "main" java.lang.NoClassDefFoundError: com/adobe/xmp/XMPException
at com.drew.imaging.jpeg.JpegMetadataReader.<clinit>(JpegMetadataReader.java:53)
at com.drew.imaging.ImageMetadataReader.readMetadata(ImageMetadataReader.java:98)
at ImageMetadata.main(ImageMetadata.java:57)
Caused by: java.lang.ClassNotFoundException: com.adobe.xmp.XMPException
at java.net.URLClassLoader.run(URLClassLoader.java:366)
at java.net.URLClassLoader.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 3 more
Java 结果:1 构建成功(总时间:1 秒)
Link 到
提前致谢!
我认为您缺少 xmpcore 依赖项,如果您使用的是 maven,那么这里有这个工件:http://mvnrepository.com/artifact/com.adobe.xmp/xmpcore
<dependency>
<groupId>com.adobe.xmp</groupId>
<artifactId>xmpcore</artifactId>
<version>5.1.2</version>
</dependency>
将 xmp-core
库添加到您的项目中。请考虑您需要的 xmp-core 版本。按照以下步骤获取 xmp-core 5.1.2 版本。
如果您正在使用 ant
构建器,请下载以下 jar 文件并添加到您的项目中。
如果您使用的是 Maven,请将以下依赖项添加到您的 pom.xml
<dependency>
<groupId>com.adobe.xmp</groupId>
<artifactId>xmpcore</artifactId>
<version>5.1.2</version>
</dependency>
使用this url访问xmp代码库的maven仓库。
如果您使用 Maven 引用 metadata-extractor
,将自动获取对 XmpCore 的引用。