首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >测试后如何在maven中以Java类为目标运行

测试后如何在maven中以Java类为目标运行
EN

Stack Overflow用户
提问于 2018-09-28 23:54:30
回答 1查看 895关注 0票数 1

我已经创建了一个Java类来通过电子邮件发送报告。报告由Maven Surfire插件生成。现在我有一个问题,就是测试报告在项目完成之前不会被保存。因此,如果我在@AfterSuite中调用该java类,它将失败。

有没有办法在maven目标之后运行java类?

代码语言:javascript
复制
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>SoapOCPAutomation</groupId>
  <artifactId>SoapOCPAutomation</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>SoapOCPAutomation</name>
  <description>SoapOCPAutomation</description><repositories>
    <repository>
        <id>smartbear-sweden-plugin-repository</id>
        <url>http://www.soapui.org/repository/maven2/</url>
    </repository>
</repositories>
  <build>
    <sourceDirectory>src</sourceDirectory>
  <plugins>

      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.3</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
<plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.18</version>
            <configuration>
             <forkCount>0</forkCount>
                <suiteXmlFiles>         
                    <suiteXmlFile>testng.xml</suiteXmlFile>

                </suiteXmlFiles>
            </configuration>
    </plugin>


    <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>exec-maven-plugin</artifactId>
      <version>1.2</version>
      <executions>
        <execution>
          <id>send-report</id>
          <phase>package</phase>
          <goals>
            <goal>java</goal>
          </goals>
        </execution>
      </executions>
      <configuration>
        <mainClass>com.acxsys.ocp.api.emt.ks.report.KSSendEmail</mainClass>
      </configuration>
    </plugin>

    </plugins>
  </build>
</project>
EN

回答 1

Stack Overflow用户

发布于 2018-09-29 00:02:03

你可以使用maven-exec插件来实现java的目标:

代码语言:javascript
复制
<build>
  <plugins>
    <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>exec-maven-plugin</artifactId>
      <version>1.2</version>
      <executions>
        <execution>
          <id>send-report</id>
          <phase>package</phase>
          <goals>
            <goal>java</goal>
          </goals>
        </execution>
      </executions>
      <configuration>
        <mainClass>your.reporting.Class</mainClass>
      </configuration>
    </plugin>
  </plugins>
</build>

当您执行mvn packagemvn install时,这将在package阶段执行您的报告类,这是在surefire插件执行之后出现的。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52558874

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档