0

我有一个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,并且运行时类未找到抛出异常。我的问题是如何解决这样的问题,我需要 B 中的集成测试用例,我也想在项目 A 中进行调试。感谢任何帮助。

4

2 回答 2

1

嗯,我不确定我是否完全理解——但我建议打包B成 jar 以供使用A,然后独立打包和部署BWAR.

这种分离将允许AB.WAR依赖于B.jar而不是A依赖于B.WAR

于 2012-03-07T14:43:28.733 回答
0

仔细阅读http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.htmlhttp://maven.apache.org/plugins/maven-war-plugin/plugin-info .html 我想我已经想出了一个解决方案:将项目B保留为jar包装,然后将maven-war-plugin的爆炸目标绑定到maven生命周期,然后在安装项目B时,它会创建一个爆炸的war目录在运行集成测试之前,即使它不是一个战争项目。还要感谢提供解决方案的人。

于 2012-03-08T04:53:37.747 回答