MAVEN:使用MAVEN测试运行多个MAVEN项目
我有3个maven项目。项目1、项目2和项目3。 项目3依赖于项目1和项目2,项目2依赖于项目1 为此,我在project2pom.xml文件中添加了这个MAVEN:使用MAVEN测试运行多个MAVEN项目,maven,Maven,我有3个maven项目。项目1、项目2和项目3。 项目3依赖于项目1和项目2,项目2依赖于项目1 为此,我在project2pom.xml文件中添加了这个 <modelVersion>4.0.0</modelVersion> <groupId>Project2</groupId> <artifactId>Project2</artifactId> <version>0.0.1-SNAPSHOT<
<modelVersion>4.0.0</modelVersion>
<groupId>Project2</groupId>
<artifactId>Project2</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>Project1</groupId>
<artifactId>Project1</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
4.0.0
项目2
项目2
0.0.1-快照
项目1
项目1
0.0.1-快照
Project3的pom.xml是-
<modelVersion>4.0.0</modelVersion>
<groupId>Project3</groupId>
<artifactId>Project3</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>Project1</groupId>
<artifactId>Project1</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>Project2</groupId>
<artifactId>Project2</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
4.0.0
项目3
项目3
0.0.1-快照
项目1
项目1
0.0.1-快照
项目2
项目2
0.0.1-快照
在项目3中,我添加了testng.xml文件来运行测试。现在,如果我运行这个testng.xml文件,那么我的所有测试用例都会成功运行。如果我尝试使用maven测试运行测试用例,那么它就会失败
我已将testng.xml文件包含在pom文件下面的依赖项中,以使用maven运行testng测试-
<build>
<!-- Source directory configuration -->
<sourceDirectory>src</sourceDirectory>
<plugins>
<!-- Following plugin executes the testng tests -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.14.1</version>
<configuration>
<!-- Suite testng xml file to consider for test execution -->
<suiteXmlFiles>
<suiteXmlFile>Tng1.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
<!-- Compiler plugin configures the java version to be used for compiling the code -->
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
src
org.apache.maven.plugins
maven surefire插件
2.14.1
Tng1.xml
maven编译器插件
1.6
1.6
它正在显示错误消息-
Project1:Project1:jar:0.0.1-SNAPSHOT的POM丢失,没有可用的依赖项信息。
缺少Project2:Project2:jar:0.0.1-SNAPSHOT的POM,没有可用的依赖项信息
无法在项目3上执行目标:无法解析项目3的依赖项:项目3:jar:0.0.1-SNAPSHOT:无法解析以下工件:项目1:Project1:jar:0.0.1-SNAPSHOT,项目2:Project2:jar:0.0.1-SNAPSHOT:找不到工件Project1:Project1:jar:0.0.1-SNAPSHOT->[帮助1
请帮助!!!您必须首先在maven存储库中安装Project1和Project2 为此,启动命令
mvn clean install
在Project1和Project2目录中(从Project1开始,因为Project2依赖于Project1)
编辑:
对于Jenking,我通常使用模块声明创建一个根pom。Maven将按依赖项为您排序模块
在你的根pom中,你将拥有
<modules>
<module>project1</module>
<module>project2</module>
<module>project3</module>
</modules>
项目1
项目2
项目3
在你的子模块中
<parent>
<groupId>com.myGroupId</groupId>
<artifactId>project-root</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
com.myGroupId
举个完整的例子现在我必须再做一件事。我必须用Jenkins运行这个项目。如何做?我提供了Project3 pom.xml的路径。但是显示了以前使用maven test运行时提供的相同错误消息。请帮助!!!我将尝试这个,但是有没有办法用当前pom?如果您想使用当前的pom,您必须在project3之前在Jenkins中构建project1和project2。另一种方法是在nexus(或其他maven存储库)中部署project1.jar和project2.jar。谢谢您的回复!!!我将尝试第一个选项,因为我不知道如何将jar部署到nexus。