我在一个maven项目中有一系列Servlet和Servlet过滤器,这些过滤器被打包到一个jar中,该jar应该包含在一系列其他“主机”Web应用程序的/ lib目录中。这些Servlet并不是单独运行的 - 并且不保证自己的战争(它不是一个独立的Web应用程序)。
在我的src / test / java目录中,我有一些松散模仿这些“主机”应用程序的Mock对象。
我在集成测试阶段使用货物来启动tomcat实例,但是我很难让tomcat在src / test / java中使用我的模拟“主机”servlet。
有推荐的方法吗?我是否需要先从src / test / java中的源代码构建一个war?
另外,在启动容器之前,我需要将实际项目的jar移动到WEB-INF / lib。我曾考虑使用maven程序集插件来执行此操作?有没有办法用货物配置选项来做到这一点?
非常感谢您的任何意见。
答案 0 :(得分:0)
是的,你必须为此建立一个WAR。
Cargo部署容器理解的内容,即WAR或EAR文件,但不是JAR文件。
答案 1 :(得分:0)
我最终做的是在预集成测试阶段使用maven-war-plugin来制造战争。
然后我使用maven-dependency-plugin将一些必需的依赖项复制到war构建位置。
然后我将货物指向新的战争地点以进行整合测试。
当我做mvn包时,我得到一个包含我想要打包的所有类的jar,当我运行mvn integration-test时,我得到一个货物启动作为测试工具的战争。它运作得很好。
感谢您查看我的问题。