java - 从命令行覆盖运行时使用的依赖项版本

标签 java maven maven-3 maven-plugin checkstyle

常规:我需要从命令行执行具有覆盖依赖版本(插件依赖)的 Maven 插件。项目 pom 中不会定义插件。

具体:我需要执行maven-checkstyle-plugin作为 teamcity 构建的一步;该插件不会在项目 pom 中定义。我使用以下命令行:

 mvn org.apache.maven.plugins:maven-checkstyle-plugin:2.17:check -Dencoding=UTF-8

但是我需要使用最新的 checkstyle 执行插件如图所示here .

POM xml:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-checkstyle-plugin</artifactId>
    <version>2.17</version>
</plugin>

命令行:

mvn org.apache.maven.plugins:maven-checkstyle-plugin:2.17:check

POM xml:

<plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-checkstyle-plugin</artifactId>
      <version>2.17</version>
      <dependencies>
        <dependency>
          <groupId>com.puppycrawl.tools</groupId>
          <artifactId>checkstyle</artifactId>
          <version>7.0</version>
        </dependency>
      </dependencies>
    </plugin>

命令行:

?

最佳答案

最佳实践是创建 Maven profile使用您的设置,然后在 CI 上构建时激活此配置文件。

配置文件示例:

<profiles>
<profile>
  <id>ci</id>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <version>2.17</version>
        <dependencies>
          <dependency>
            <groupId>com.puppycrawl.tools</groupId>
            <artifactId>checkstyle</artifactId>
            <version>7.0</version>
          </dependency>
        </dependencies>
      </plugin>
    </plugins>
  </build>
</profile>
</profiles>

如何在 TeamCity 上启用它的示例:mvn checkstyle:check -Pci

通常将 execution 部分添加到配置文件配置中,以使插件目标作为特定阶段正常构建的一部分自动运行,但仅当通过例如 mvn install -Pci 启用 ci 配置文件时。

关于java - 从命令行覆盖运行时使用的依赖项版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38219771/

相关文章:

eclipse - m2e 和项目元数据文件

java - 使用 Maven、Jersey、Tomcat、@ApplicationPath、无 web.xml 调试 IncompatibleClassChangeError

java - 未找到 maven-compiler-plugin

java - Maven - 使用父项目中的程序集文件和配置

java - 如何解决/bin/sh : protoc: command not found?

java - 使用 maven xjc 编译时,JAXB 不会为 xsd 电子邮件模式元素创建类

java - Checkstyle:方法不是为扩展而设计的,但它需要

java - 如何解决 org.jboss.ws.WSException : Policy not supported in JBoss AS 4. 2.?

java - Tomcat 7 : Sonar compliant setHttpOnly(true) for Cookie

java - VisualVM 堆转储与探查器不一致