maven包子模块并测试父节点

时间:2014-11-02 09:12:07

标签: java maven pom.xml

我是个新手。 我的测试项目依赖于模块项目(extended-java-client)。 我需要在模块路径上运行“mvn clean package”,它给了我扩展的java-client-Jar。

然后,我需要运行“mvn clean install test”来运行测试项目。 但它不起作用,它没有找到模块。 (我已经将模块/父标签添加到pom.xml文件中)

有什么想法吗? 提前致谢

这是我项目的结构:

Project A
  *Extended-java-client(Module)
      *pom.xml (jar file)
  *src(the test classes)
  *pom.xml

延伸型>的pom.xml

 <parent>
      <groupId>project name</groupId>
      <artifactId>project name</artifactId>
      <version>1.0-SNAPSHOT</version>
      <relativePath>../pom.xml</relativePath> // path to main pom
  </parent>

项目 - &GT;的pom.xml

<modules>
   <module>extended-java-client</module>
</modules>

2 个答案:

答案 0 :(得分:0)

构建extended-java-client时,您应该使用运行$ mvn clean install而不是$ mvn clean package

原因:package创建jar但将其保留在extended-java-client/target/目录中,以便jar文件仅对该项目可见。

调用install将jar复制到Maven称之为&#34;本地回购&#34;以便其他项目(例如您的测试项目)可以访问它。

希望有所帮助。

答案 1 :(得分:0)

&#34;它不起作用&#34; 你能提供的错误信息是什么?

我建议使用Standard Directory Layout,尤其是从Maven开始时。

但是,您不必运行mvn clean install testtest阶段会在install阶段之前(以及package阶段)自动执行。

请参阅Introduction to the Build Lifecycle, Default Lifecycle&#34;这些构建阶段按顺序执行以完成默认生命周期。&#34;