maven 编译项目时:报com.sun.image.codec.jpeg不存在

项目中用到图片处理相关的一些工具类,在eclipse开发工具内,程序并没有什么问题,都可以正常使用,项目也没有报错,但通过maven 进行编译打包时,则会报错:

程序包com.sun.image.codec.jpeg不存在 。

从包名看,是sun公司之前的一些类,在比较老的一些代码中,常用来处理图片的格式转换、截取等等。

类似以下代码:

1 FileOutputStream fos= new FileOutputStream(targetFile);
2 JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(fos);
3 encoder.encode(image);

实际上要解决这个编译报错问题,最简单的方法就是使用新的工具类:ImageIO,这个类提供了多种write方法,适用于多种情况,可以达到相同的目的。

当然,也有人采用其他方式,在编译环境中加入对应的依赖包,个人认为还是使用新的工具类较好一些,新工具类肯定有它的独到之处(PS:没有具体看过对应的实现,找时间可以看一下).

时间: 2024-12-28 10:16:55

maven 编译项目时:报com.sun.image.codec.jpeg不存在的相关文章

Maven打包时:com.sun.image.codec.jpeg不存在的解决方案

报这个错误的原因是,Maven没有权限操作jre自带的jar包. 解决方法:在pom.xml添加以下依赖: <span style="font-size:18px;"><dependency> <groupId>jce</groupId> <artifactId>jce</artifactId> <version>1.0</version> </dependency> <d

使用ANT编译项目报错 com.sun.image.codec.jpeg does not exist 解决方法

项目开发中在对图片进行裁切处理的时候,有时候是会使用到 com.sun 包下的类时, 如果项目使用ant编译,会出现错误 com.sun.image.codec.jpeg does not exist 这是因为在JDK1.7+时,Oracle不允许使用sun.*的jar 具体参见http://www.oracle.com/technetwork/java/faq-sun-packages-142232.html . 项目代码已经写好,且直接运行可以正常使用,只是使用ant编译会出现错误,现在不打

使用Maven编译项目遇到——“maven编码gbk的不可映射字符”解决办法 ——转载

一.问题描述 今天在MyEclipse中使用Maven编译项目源代码时,结果如下了如下的错误 百思不得其解啊,java源代码在MyEclipse中显示是没有任何错误的,可是执行"maven install"命令编译项目时就会出现上述的错误,导致项目编译失败.这个问题还是第一次遇到,还好在这里http://capslk.iteye.com/blog/1419958看到了解决问题的办法. 二.解决办法 解决这个问题的思路: 在maven的编译插件中声明正确的字符集编码编码——编译使用的字符

eclipse maven编译项目

我们知道,在用eclipse写项目时,可以用debug进行热部署,即你改了java文件也能不重新启动,就能自动编译,但在你保存文件时,eclipse是再次编译一次,并不会删掉用掉的内存,好像是新生带,这样的话,你多保存几次,就会造成内存溢出. 另外一种编译方法,即用maven编译:这样也能改了java文件也能及时编译,增加的内存只是重新编译你改变的文件而已, 具体方法: 选择debug configurations goals:输入tomcat:run base directory 选择brow

编写response生成图片验证码时,报import com.sun.image.codec.jpeg.JPEGCodec;

在Eclipse中处理图片,需要引入两个包:import com.sun.image.codec.jpeg.JPEGCodec;import com.sun.image.codec.jpeg.JPEGImageEncoder;报错:Access restriction: The type JPEGImageEncoder is not accessible due to restriction on required library C:\Java\jre1.6.0_07\lib\rt.jar

Java处理JPEG图片时,需要导入com.sun.image.codec.jpeg.JPEGImageEn,报错处理

Java处理JPEG图片时,需要导入com.sun.image.codec.jpeg.JPEGImageEn,会报错,不能使用相应的方法. 原因:java访问限制级api的时候,默认的eclipse设置会报错,现在更改只警告,不报错,就可以使用了.. 默认把这些访问受限的API当成了错误来处理. 解决办法: 在MyEclipse中点Window-->Preferences-->Java-->Compiler-->Errors/Warnings,展开Deprecated and re

eclipse-在编译项目时js特别慢的问题

eclipse在编译项目时,当项目中导入了很多第三方js库时,eclipse在验证js时会消耗大量的时间,而我们却完全不用考虑那些js是否有错误 步骤: 去除eclipse的JS验证: 1.将windows->preference->JavaScript->Validator->Errors/Warnings-> Enable Javascript Sematic validation前面的勾去掉; 2.右键项目 -> properties -> Builders

[Maven]package com.sun.image.codec.jpeg does not exist

----------------------------------------------------------------- 原创博文,如需转载请注明出处! 博主:疲惫的豆豆 链接:http://www.cnblogs.com/dzblog/p/6971245.html ---------------------------------------------------------------- 环境 Maven:3.0.5 Java:1.8.0_45 OS:Linux 问题 拿到一个j

import com.sun.image.codec.jpeg.JPEGImageEncoder报错解决办法

今天在写一个Java Web程序时,在处理JPEG图片时,需要导入com.sun.image.codec.jpeg.JPEGImageEncoder和com.sun.image.codec.jpeg.JPEGCodec这两个包,导入后报错如下: Access restriction: The type 'JPEGImageEncoder' is not API (restriction on required library 'E:\MyEclipse 2015\binary\com.sun.j