我有一个maven项目,项目A依赖于项目B,A是一个GWT Web项目,项目A的pom:
<dependency>
<groupId>com.mydomain</groupId>
<artifactId>b</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
和B项目的包装是jar。到目前为止一切正常。但我需要在项目B上添加一些集成测试,这需要将项目B的包装变为战争,因此它可以设置一个可以运行集成测试用例的Web环境。
然后当我使用Google Eclipse插件运行/调试项目A时,项目B的jar永远不会复制到项目A的目标/ A-0.0.1-SNAPSHOT / WEB-INF / lib,并且运行时类不会抛出foundexception。 我的问题是如何解决这样的问题,我需要B中的集成测试用例,我也想在项目A中进行调试。 任何帮助表示赞赏。
答案 0 :(得分:1)
B
打包到jar中以供A
使用,然后独立打包并部署B
作为{{1} }}。
这种分离将允许WAR
和A
依赖B.WAR
而不是B.jar
,具体取决于A
。
答案 1 :(得分:0)
仔细阅读http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html和http://maven.apache.org/plugins/maven-war-plugin/plugin-info.html 我想我已经提出了一个解决方案:将项目B保留为jar包装,然后将maven-war-plugin的爆炸目标绑定到maven package 生命周期,然后在安装项目B时,它会在运行集成测试之前创建一个爆炸的war目录,即使它不是war项目。还要感谢为解决方案提供帮助的人。