我发现某人的pom.xml中使用了maven-shade-plugin.我之前从未使用过maven-shade-plugin(我是Maven n00b),所以我试着理解使用它的原因及其作用.
我查看了Maven文档,但是我无法理解这句话:
"这个插件提供了将工件打包在超级jar中的功能,包括它的依赖关系和阴影 - 即重命名 - 一些依赖项的包." 页面上的文档似乎不是新手友好的.
什么是"超级罐子?" 为什么有人想制作一个?重命名依赖项包的重点是什么?我试图通过maven-shade-plugin apache页面上的示例,例如"为Uber Jar选择内容",但我仍然无法理解"着色"所取得的成就.
任何指向说明性示例/用例的指针(解释为什么在这种情况下需要着色 - 解决了什么问题)将不胜感激.最后,我什么时候应该使用maven-shade-plugin?
我正在尝试创建一个Grails应用程序,它可以显示TIFF文件和其他图像的预览.
这些图像是从SOAP服务构造的,它为我提供了图像的字节.在一个服务方法中,我取byte [],从中构造一个ByteArrayInputStream,然后从中创建一个BufferedImage.
def inputStream = new ByteArrayInputStream(bytes)
BufferedImage originalImage = ImageIO.read(inputStream)
ImageIO.write(originalImage, 'png', response.outputStream)
Run Code Online (Sandbox Code Playgroud)
对于JPG,我可以轻松地将图像作为img标记的src流式传输到浏览器.但是,我需要将图像转换为其他格式(最好是JPG或PNG),以使它们成为标记的src.
我知道我需要JAI才能读取TIFF文件.jai_core.jar,jai_codec.jar文件在我的classpath中.事实上,因为我在Mac OSX上,它们是自动安装的.但是,当我运行grails应用程序并尝试从SOAP服务接收的字节构造TIFF图像时,我收到此错误:
| Error 2013-06-18 15:23:38,135 [http-bio-8080-exec-10] ERROR errors.GrailsExceptionResolver - IllegalArgumentException occurred when processing request: [GET] /BDMPlugin/BDMPlugin/displayImageFromRef - parameters:
pageRef: 28:22072FBCA0A8889D9C041D76A588BCF4DCB40376A23B5FD5C301378C8E66EB9F4933A5DFCA46365F927D9E91B337B6E1E980FB4406644801
type: TIFF
im == null!. Stacktrace follows:
Message: im == null!
Line | Method
->> 1457 | write in javax.imageio.ImageIO
- - - - - - - - - - - - - - - - - - - …Run Code Online (Sandbox Code Playgroud)