我想知道是否有办法将所有需要的.jars放在一个单独的.war / ear中,以便当我对代码进行微小更改时,我不必将所有库.jars部署到服务器?
因为每次我想在开发期间测试更改/上传50mb(到越位Tomcat服务器)都不是一个花时间的好方法。
我在SO上阅读的大多数主题都表示你确实想要一个包含.war文件的自我。在这种情况下,它仅与1 .war文件共享。不确定部署描述符中的某种库引用是否可行。
答案 0 :(得分:0)
根据Java EE Spec,您的.jars应该部署到WAR文件中的WEB-INF/lib
。我见过一些人破解Tomcat类加载器直接从外部引出(特别是在Tomcat 5+删除对CATALINA_HOME/shared/lib
的支持之后),但这有其明显的缺点。
我建议您考虑更改部署过程而不是更改代码。您实际上可以对appBase
进行“爆炸WAR”部署(请参阅Tomcat docs),并仅传输已更改的文件。
我为Inedo工作,我看到很多用户使用BuildMaster执行此操作。工作流程看起来像这样:
最后一步(部署构建工件)将仅部署更改的文件,这将大大减少部署50MB工件所需的时间。