运行"mvn test site"给出 [错误] 无法在项目上执行目标 org.apache.maven.plugins:maven-site-plugin:3.3:site (default-sit



我试图使用带有Testng+maven的reporty ng生成xslt报告,但在中出现错误

[错误]未能执行目标org.apache.maven.plugins:maven-site plugin:3.3:site(默认站点)项目硒项目:未能获取组织的报告。reportyng:reporty ng:Pluging-org.reportyng:reporty ng:1.2或其依赖项之一无法解决:未能在中找到组织。reportyng:reporty ng:jar:1.2https://github.com/cosminaru/reporty-ng/raw/master/dist/maven已缓存在本地存储库中,在报告ng的更新间隔过去或强制更新之前,不会重新尝试解析->[Help 1]

以下是pom.xml的一部分:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
                <version>2.19.1</version>
            <configuration>
                <suiteXmlFiles>
                    <suiteXmlFile>testng.xml</suiteXmlFile>
                </suiteXmlFiles>
            <testFailureIgnore>true</testFailureIgnore>
            </configuration>
        </plugin>
        <plugin>
           <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.3</version>
            <configuration>
                <source>1.7</source>
                <target>1.7</target>
            </configuration>
        </plugin>
</plugins>
</build>
<dependencies>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>2.48.1</version>
    </dependency>
    <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>6.9.6</version>
    </dependency>
    <dependency>
        <groupId>org.apache.maven.surefire</groupId>
        <artifactId>surefire-api</artifactId>
        <version>2.19</version>
    </dependency>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
    </dependency>
    <dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.3.5</version>
    </dependency>

</dependencies>
<reporting>
<plugins>
        <!-- TestNG-xslt related configuration. -->
        <plugin>
            <groupId>org.reportyng</groupId>
            <artifactId>reporty-ng</artifactId>
            <version>1.2</version>
            <configuration>
                <!-- Output directory for the testng xslt report -->
                <outputDir>/target/testng-xslt-report</outputDir>
                    <sortTestCaseLinks>true</sortTestCaseLinks>
                    <testDetailsFilter>FAIL,SKIP,PASS,CONF,BY_CLASS</testDetailsFilter>
                    <showRuntimeTotals>true</showRuntimeTotals>
            </configuration>     
        </plugin>
    </plugins>
</reporting>
<pluginRepositories>
    <pluginRepository>
        <id>reporty-ng</id>
        <url>https://github.com/cosminaru/reporty-ng/raw/master/dist/maven</url>
    </pluginRepository>
</pluginRepositories>

根据我的理解,如果运行"mvn-clean-verify",将包括构建的"站点"阶段以及测试。你不需要显式调用站点阶段,所以不要这样做。此外,如果你要显式调用"站点"阶段,你可能应该将站点插件作为依赖项,你不认为吗?

根据我对TestNG报告和ReportNG报告的经验,站点插件与报告输出无关。站点插件仅与"Surefire"(或Failsafe)插件报告阶段输出相关。换句话说,你会注意到Surefire插件的默认输出文件夹通常与"site"插件的标准输出位置直接相关。我同意,这可能非常令人困惑。

此外,我会这样配置它(可能):

<plugin>
    <groupId>org.reportyng</groupId>
    <artifactId>reporty-ng</artifactId>
    <version>1.4</version>    
    <configuration>
        <outputDirectory>${project.build.directory}/surefire/reportng</outputDirectory>
        <sortTestCaseLinks>true</sortTestCaseLinks>
        <testDetailsFilter>FAIL,SKIP,PASS,CONF,BY_CLASS</testDetailsFilter>
        <showRuntimeTotals>true</showRuntimeTotals>
    </configuration>     
</plugin>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-site-plugin</artifactId>
    <version>2.1</version>
    <configuration>
      <outputDirectory>${basedir}/target/site</outputDirectory>
    </configuration>
  </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>2.9</version>
<configuration>
    <outputDirectory>${basedir}/target/site</outputDirectory>
    <reportsDirectories>
        <reportsDirectories>${basedir}/target/surefire</reportsDirectories>
    </reportsDirectories>
</configuration>
    <reportSets>
        <reportSet>
            <id>integration-tests</id>
            <reports>
                <report>report-only</report>
            </reports>
        </reportSet>
    </reportSets>
</plugin>

最新更新