跳过maven测试时跳过sonar插件执行

f0brbegy  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(530)

我已经在我的pom中将sonar设置为maven插件,并且希望该插件仅在测试运行时运行。用例是我希望sonar插件在我的ci服务器上运行,而不是在打包jar时运行。所以呢 mvn test 应该执行声纳插件,但是 mvn -DskipTests clean package 不应该。
今天,当我跳过测试时,sonar插件也在运行。
我今天的设置:

<sonar.host.url>https://sonar.myserver.no</sonar.host.url>
<sonar.login>my token</sonar.login>
<sonar.projectName>My app</sonar.projectName>
.....
<plugin>
    <groupId>org.sonarsource.scanner.maven</groupId>
    <artifactId>sonar-maven-plugin</artifactId>
    <version>${sonar.maven.plugin.version}</version>
    <executions>
        <execution>
            <id>sonar</id>
            <phase>test</phase>
            <goals>
                <goal>sonar</goal>
            </goals>
        </execution>
    </executions>
</plugin>
c0vxltue

c0vxltue1#

每一个插件,我们可以添加节

<configuration>
    ...
    <skip>...</skip>
    ...
</configuration>

在一个 <execction> -块来控制何时应跳过执行。在给定的情况下,我们可以将跳过绑定到属性 skipTests :

<plugin>
    <groupId>org.sonarsource.scanner.maven</groupId>
    <artifactId>sonar-maven-plugin</artifactId>
    <version>${sonar.maven.plugin.version}</version>
    <executions>
        <execution>
            <id>sonar</id>
            <phase>test</phase>
            <goals>
                <goal>sonar</goal>
            </goals>
            <configuration>
                <skip>${skipTests}</skip>
            </configuration>
        </execution>
    </executions>
</plugin>

相关问题