在使用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);
本文介绍了在Java中合并图片时遇到的JPEGCodec.createJPEGEncoder()方法废弃的问题,并提供了三种解决方法,包括修改项目配置允许访问sun公司的私有包、调整编译器设置以及使用Maven插件。此外,还推荐了使用ImageIO类作为替代方案。

3378

被折叠的 条评论
为什么被折叠?



