当前位置: 首页 > 知识库问答 >
问题:

Maven:使用Maven测试运行多个MAVEN项目

仰欣悦
2023-03-14

我有3个maven项目。项目1,项目2

为此,我在项目2 pom.xml文件中添加了这个

<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>

我的pom。Project3的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>

在项目3中,我添加了testng。xml文件来运行测试。现在如果我运行这个测试。xml文件,那么我所有的测试用例都成功运行了。如果我尝试使用maven测试运行测试用例,那么它会失败。

我已经在下面的pom文件中包含了testng.xml文件,以便使用maven运行testng test-

<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>

它显示错误消息 -

缺少项目 1:项目1:jar:0.0.1-快照的 POM,没有可用的依赖项信息。项目2:项目2:jar:0.0.1-快照的POM丢失,没有可用的依赖项信息

未能在项目Project3上执行目标:无法解析项目Project3:项目3:jar:0.0.1-SNAPSHOT:无法解析以下项目:项目1:项目1:jar:00.0.1-SNAPSHOT,项目2:项目2:jar:00.1-SNAPSHOT:找不到项目1:-

请救命!!!


共有1个答案

洪凯定
2023-03-14

您必须先在专家存储库中安装项目 1 和项目 2。

为此,启动命令

mvn clean install

在项目 1 和项目 2 目录中(从项目 1 开始,因为项目 2 与项目 1 有依赖关系)

编辑:

对于詹金,我通常会创建一个带有模块声明的根pom。Maven 将按依赖关系对模块进行排序。

在你的根球里,你会有

<modules>
    <module>project1</module>
    <module>project2</module>
    <module>project3</module>
  </modules>

在你的子模块中

  <parent>
  <groupId>com.myGroupId</groupId>
  <artifactId>project-root</artifactId>
  <version>1.0-SNAPSHOT</version>
  </parent>

你可以检查http://books.sonatype.com/mvnex-book/reference/multimodule.html完整的例子

 类似资料:
  • 我有一个Maven项目,所有的配置都是正确的,最近我用GIT和Jenkins配置了这个项目,创建了Jenkin作业。 早些时候,我可以通过右键单击project并运行**-->**Run-->Maven test和test execution use来启动整个项目,但现在它不会抛出任何错误,而是不会启动浏览器来执行。 但是,如果我使用TestNG单独运行Java文件[单个测试用例],它就会按照预期

  • 我有一个文件夹结构如下 当我运行命令时。它只运行Java单元测试(位于*src\test\Java*目录下),而不调用Groovy测试用例。Groovy似乎再也找不到Groovy测试了。 请帮助我在Maven的帮助下启用groovy测试用例执行? 波姆。xml

  • 问题内容: 我在Eclipse中创建了一个新的maven项目,该项目通过使用HtmlUnitDriver和FirefoxDriver来调出一个网页并检查页面标题来运行简单测试。当我运行maven命令mvn test时,这就是我得到的一切: 当我在Eclipse中运行相同的Maven命令时,它显示以下内容: 这是我的pom.xml,供那些想要检查是否可能是问题的人使用: 问题答案: 您是说要添加为P

  • 我有一个Java项目,它在参考资料中有多个测试目录。 并且在实际的测试器中:

  • 我已经编写了一个JUnit测试套件,用于运行多个测试用例。 现在我想一次运行我的测试套件类(AllTest.java),以便所有测试都由一个类触发、执行和管理。我知道maven故障保护插件是可用的,但是有没有其他更简单的方法从maven调用JUnit测试套件呢? 我不想使用另一个插件。 这是我当前的maven-故障安全-插件配置:

  • 在以前的一个项目中,我使用Spock测试框架对Java代码进行单元测试。我发现这非常有效,所以我尝试将Spock测试添加到我当前的项目中,该项目使用Maven作为构建工具(前一个项目使用Gradle)。虽然我可以让Maven编译我的Spock测试(使用),但我无法让Maven运行这些测试。 我做了一个简单的例子来演示我在两个文件中的问题: null 当我执行(或)时,我希望运行单个单元测试并失败。