是否有maven命令可以验证WAR文件是否有效且没有损坏?或者是否有其他程序或技术来验证zip文件?我在Ubuntu 9.10上,所以首选Linux解决方案。
有时,在我的项目上执行mvn clean
和mvn install
之后,我最终得到了一个损坏的WAR文件。如果我将WAR文件解压缩到我的硬盘驱动器,则会发生错误,并且文件不会被解压缩。我相信当我的系统处于低内存状态时会发生这种情况,因为只有在使用大量内存时才会发生这种情况。重新启动后,执行mvn install
始终会提供有效的WAR文件。
因为这种情况很少发生,我通常不会通过解压缩来测试文件。我将50MB war文件传输到我的服务器,然后用它作为root webapp重启Jetty。但是当文件损坏时,我收到java.util.zip.ZipException: invalid block type
错误。
所以我正在寻找一种快速方法来在mvn安装完成后立即验证文件。是否有maven命令来执行此操作?还有其他想法吗?
答案 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>
临时文件。