java用户metadata-extractor读取照片信息错误Exception in thread “main” java.lang.NoClassDefFoundError: com/adobe/xmp/XMPException

java用户metadata-extractor读取照片信息错误Exception in thread “main” java.lang.NoClassDefFoundError: com/adobe/xmp/XMPException-上流阁

当出现这个问题的时候,网上找不到任何有用的解决办法,细心的发现了maven库这个jar包的提示需要依赖类

java用户metadata-extractor读取照片信息错误Exception in thread “main” java.lang.NoClassDefFoundError: com/adobe/xmp/XMPException-上流阁

需要的依赖jar包

junit-4.12.jar

xmpcore-5.1.2.jar

应用代码

/**
* 读取照片里面的信息
*/
public static void printImageTags(File file) throws ImageProcessingException, Exception {
Metadata metadata = ImageMetadataReader.readMetadata(file);
for (Directory directory : metadata.getDirectories()) {
for (Tag tag : directory.getTags()) {
String tagName = tag.getTagName(); // 标签名
String desc = tag.getDescription(); // 标签信息
if (tagName.equals("Image Height")) {
System.out.println("图片高度: " + desc);
} else if (tagName.equals("Image Width")) {
System.out.println("图片宽度: " + desc);
} else if (tagName.equals("Date/Time Original")) {
System.out.println("拍摄时间: " + desc);
} else if (tagName.equals("GPS Latitude")) {
System.err.println("纬度 : " + desc);
// System.err.println("纬度(度分秒格式) : "+pointToLatlong(desc));
} else if (tagName.equals("GPS Longitude")) {
System.err.println("经度: " + desc);
// System.err.println("经度(度分秒格式): "+pointToLatlong(desc));
}
}
}
}

/**
* 经纬度格式 转换为 度分秒格式 ,如果需要的话可以调用该方法进行转换
*
* @param point
* 坐标点
* @return
*/
public static String pointToLatlong(String point) {
Double du = Double.parseDouble(point.substring(0, point.indexOf("°")).trim());
Double fen = Double.parseDouble(point.substring(point.indexOf("°") + 1, point.indexOf("'")).trim());
Double miao = Double.parseDouble(point.substring(point.indexOf("'") + 1, point.indexOf("\"")).trim());
Double duStr = du + fen / 60 + miao / 60 / 60;
return duStr.toString();
}

如果有问题请给我留言。

*文章为作者独立观点,不代表上流阁立场
本文由 江风成 授权 上流阁 发表,并经上流阁编辑。转载此文章须经作者同意,并请附上出处(上流阁)及本页链接。原文链接https://www.o6c.com/java/2017/07/16/1029.html
发表评论

坐等沙发
相关文章
Java技术中Mysql之Mybaitis中IN的函数拼接方法
Java技术中Mysql之Mybaitis中IN的函数拼…
java和安卓中对Map的key值和value值进行升序降序排序干货
java和安卓中对Map的key值和value值进行…
eclipse导出可执行jar包并在Windows下用鼠标双击可运行
eclipse导出可执行jar包并在Windows下用…
MySQL数据库sql中字符串函数的字符串截取
MySQL数据库sql中字符串函数的字符串截取
双等于==运算符中的抽象相等比较算法使用
双等于==运算符中的抽象相等比较算法使用
Java技术Jdbc连接数据库方法及使用方法
Java技术Jdbc连接数据库方法及使用方法
javaweb开发程序员php开发,微信开发。接受定制开发

最新评论

  • 137博客

    每天醒来,敲醒自己的不是钟声,而

  • 137博客

    谢谢分享,我的博客,欢迎回访

  • 外星人

    爱美是人的天性,就连外星人也不例

  • 陈沩亮网络营销

    谢谢分享!我也想在手机移动端,实

  • shift

    我QQ也被冻永久啊,