com.sun.image.codec.jpeg不存在
问题
最近项目中有个应用,需要将上传图片压缩为缩略图,用到了JPEGCodec等类。开发过程中一切正常,程序也能运行。当使用maven发布时,程序报错了:
过程
度娘了一下,maven的插件maven-compiler-plugin在编译的时候,没有加载/jre/lib内的包。而我们用到的JPEGCodec等类,恰好在/jre/lib/rt.jar包内。为了解决该问题,我们可以使用bootclasspath标签。该标签会将你指定路径下的包,通知到maven进行加载。
1 | <plugin> |
Attention:
${JAVA_HOME}设置为全局变量。我用的是Mac+IDEA,刚开始改过之后,IDEA的编辑器显示一直为红色。因为过度相信工具,所以一直以为全局变量设置的有问题,走了弯路。所以只要echo正常,就不要怀疑。
当bootclasspath标签内,有多个变量时,Mac/Linux系统以 :分隔,Windows系统以 ; 分隔。否则也会有异常。