我们已经将旧项目的构建方式从 Eclipse 切换到 Maven,现在我们正在尝试改进构建时间(在 Eclipse 中它是 <10 秒,在 Maven 中是 > 1 分钟)。
我注意到 EAR 插件会扩展,然后重新压缩子部署(WAR 和 EJB jar):
[2016-06-07 11:35:52] [DEBUG] Resolving ear modules ...
[2016-06-07 11:35:52] [DEBUG] Resolving ear module[war:com.my-group:MyProj_web]
[2016-06-07 11:35:52] [INFO] Copying artifact [war:com.my-group:MyProj_web:0.0.5-SNAPSHOT] to [MyProj_web.war]
[2016-06-07 11:35:52] [DEBUG] Created a temporary work directory: /home/andrew/ELuna/myproj/project/MyProj_ear/target/temp/MyProj_web
[2016-06-07 11:35:52] [DEBUG] Expanding: /home/andrew/ELuna/myproj/project/MyProj_ear/target/MyProj_ear-default-name/MyProj_web.war into /home/andrew/ELuna/myproj/project/MyProj_ear/target/temp/MyProj_web
[2016-06-07 11:36:08] [DEBUG] expand complete
[2016-06-07 11:36:08] [DEBUG] Zipping module
[2016-06-07 11:36:13] [INFO] Building zip: /home/andrew/ELuna/myproj/project/MyProj_ear/target/MyProj_ear-default-name/MyProj_web.war
[2016-06-07 11:36:13] [DEBUG] adding directory WEB-INF/
[2016-06-07 11:36:13] [DEBUG] adding directory WEB-INF/jsp/
[2016-06-07 11:36:13] [DEBUG] adding directory WEB-INF/lib/
[2016-06-07 11:36:13] [DEBUG] adding directory WEB-INF/classes/
[2016-06-07 11:36:13] [DEBUG] adding directory WEB-INF/classes/com/
[2016-06-07 11:36:13] [DEBUG] adding directory WEB-INF/classes/com/my-group/
[2016-06-07 11:36:13] [DEBUG] adding directory WEB-INF/classes/com/my-group/lib/
...............................
这种情况下的问题是WAR项目有很多小图标,展开/压缩需要太多时间。
问题 1:EAR maven 插件为什么会这样做?如果它只是需要将 MANIFEST.MF 文件添加到 WAR,为什么不简单地将该条目添加到现有的 ZIP 文件(WAR==JAR==ZIP 的文件格式)? 问题2:这个问题有什么解决方法吗?