安装mvn后检查损坏的war文件

时间:2010-04-23 20:58:09

标签: java maven-2 jar war

是否有maven命令可以验证WAR文件是否有效且没有损坏?或者是否有其他程序或技术来验证zip文件?我在Ubuntu 9.10上,所以首选Linux解决方案。

有时,在我的项目上执行mvn cleanmvn install之后,我最终得到了一个损坏的WAR文件。如果我将WAR文件解压缩到我的硬盘驱动器,则会发生错误,并且文件不会被解压缩。我相信当我的系统处于低内存状态时会发生这种情况,因为只有在使用大量内存时才会发生这种情况。重新启动后,执行mvn install始终会提供有效的WAR文件。

因为这种情况很少发生,我通常不会通过解压缩来测试文件。我将50MB war文件传输到我的服务器,然后用它作为root webapp重启Jetty。但是当文件损坏时,我收到java.util.zip.ZipException: invalid block type错误。

所以我正在寻找一种快速方法来在mvn安装完成后立即验证文件。是否有maven命令来执行此操作?还有其他想法吗?

3 个答案:

答案 0 :(得分:3)

您的贪污可能归因于PLXCOMP-149。如果你压制war插件附带的plexus-io并将其替换为新发布的1.0,你的问题可能会消失。

我知道我没有回答你的问题,但我可以解决你的问题。添加依赖项

<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-io</artifactId>
<version>1.0</version>

到您的war插件的plugin部分。

答案 1 :(得分:1)

您可以使用dependency plugin。我会考虑实现集成测试(在servlet容器中启动war并进行一些冒烟测试)。

答案 2 :(得分:0)

您可以尝试添加一个调用antrun插件的步骤来对输出WAR执行<unzip>临时文件。