在使用java合并图片的时候,使用了
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
然后这个会有一道红线提示报错。
因为这是sun公司私有的两个方法,现在也废弃了,不建议使用。
如果使用,可以使用下面三种任意一种方式:
1.添加对sun私有包的权限
在项目文件上右键-->build path-->configure build path-->libraries-->将JRE System library展开-->Access rules:No rules defined-->Edit-->Add-->Resolution选择Accessible、Rule Pattern填写**,然后在apply,保存,在页面中导入一下包就行了
然后在页面import导入一下包
2.把Windows-Preferences-Java-Complicer-Errors/Warnings里面的Deprecated and restricted API中的Forbidden references(access rules)选为Warning就可以编译通过。
把这个Error改成Warning就行了。
3.使用pom插件
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
<compilerArguments>
<verbose />
<bootclasspath>${java.home}\lib\rt.jar;${java.home}\lib\jce.jar</bootclasspath>
</compilerArguments>
</configuration>
</plugin>
最后:以上三种方法,任意一种都可以解决问题,不过题主建议,改为ImageIO替换这两个类
FileOutputStream out = new FileOutputStream(targetFile);
ImageIO.write(mBufferedImage, type, out);