Maven checkstyle https配置

时间:2013-10-17 05:55:37

标签: java maven https checkstyle

我有以下maven检查样式插件配置

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-checkstyle-plugin</artifactId>
    <configuration>
        <consoleOutput>true</consoleOutput>
        <configLocation>https://someUtl.com/file.xml</configLocation>
    </configuration>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>check</goal>
            </goals>
        </execution>
    </executions>
</plugin>

注意

<configLocation>https://someUtl.com/file.xml</configLocation>

file.xml可以通过浏览器下载,但需要登录名和密码。有没有办法在maven或插件配置中指定这些登录名/密码?

1 个答案:

答案 0 :(得分:3)

在下面,这会使用Plexus,而URL.openStream()依次使用Authenticator

This answer显示了如何在Java代码中使用configLocation,但我无法找到Maven的等价物。我倾向于说这是不可能的。

或者,您可以在单独的mojo执行中下载文件,然后将target指向下载的文件,该文件可以位于configLocation文件夹的任何位置。

我认为this answer提供了一些关于如何在Maven中下载文件的好主意。首先,如果您的文件是Maven工件,则可以使用Maven Dependency Plugin

然后我们完全循环,因为如果你的Checkstyle配置包含在Maven工件中,你就不必将dependency设置为远程位置,但是你要将该工件添加为{您的Checkstyle插件执行的{1}}。由于Maven根据依赖关系定义了所有内容,这是我的方法,这正是我设置自己的Checkstyle配置的方式。

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-checkstyle-plugin</artifactId>
    <executions>
      <execution>
        <goals>
          <goal>check</goal>
        </goals>
      </execution>
    </executions>
    <dependencies>
      <dependency>
        <groupId>com.totaalsoftware.incidentmanager</groupId>
        <artifactId>checkstyle-config</artifactId>
        <version>2.0.0-SNAPSHOT</version>
      </dependency>
    </dependencies>
    <configuration>
      <configLocation>checkstyle.config.xml</configLocation>
      ...
    </configuration>
  </plugin>

显然,在上面的示例中,checkstyle.config.xml位于checkstyle-config JAR的根目录中。