checkstyle插件的Maven多项目依赖关系管理

时间:2011-09-23 14:38:28

标签: maven checkstyle

我正在尝试使用maven-checkstyle插件进行多模块项目,这是我的项目结构

|pom-root
| -- my-checkstyles
|      |-- pom.xml
|      |-- checkstyles
|            |-- checkstyles.xml
| -- my-war
|      |-- pom.xml
| -- my-ejb
|      |-- pom.xml
| -- my-ear
|      |-- pom.xml
| -- pom.xml

这是我的pom-root项目的pom.xml:

<project
xsi:schemaLocation=
     "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns=
    "http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   >
<modelVersion>4.0.0</modelVersion>
<groupId>test</groupId>
<artifactId>pom-root</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
    <module>my-checkstyles</module>
    <module>my-ear</module>
    <module>my-ejb</module>
    <module>my-war</module>
</modules>


<build>
   <plugins>
          <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-resources-plugin</artifactId>
              <version>2.5</version>
              <configuration>
                   <encoding>UTF-8</encoding>
              </configuration>
          </plugin>

          <plugin>
              <groupId>org.apache.maven.plugins </groupId>
              <artifactId> maven-site-plugin </artifactId>
              <version>3.0-beta-3</version>
              <dependencies>
                  <dependency>
                      <groupId>com.puppycrawl.tools</groupId>
                      <artifactId>checkstyle</artifactId>
                      <version>5.4</version>
                  </dependency>
                  <dependency>
                      <groupId>fr.info.saone</groupId>
                      <artifactId>info-saone-checkstyle</artifactId>
                      <version>0.0.1-SNAPSHOT</version>
                  </dependency>
              </dependencies>
              <configuration>
                  <outputEncoding>UTF-8</outputEncoding>

                  <reportPlugins>
                      <plugin>
                          <groupId>org.apache.maven.plugins</groupId>
                          <artifactId>maven-checkstyle-plugin</artifactId>
                          <version>2.7</version>
                          <configuration>
                              <cacheFile>target/cachefile</cacheFile>
                              <configLocation>checkstyles/checkstyle_vnf.xml</configLocation>                                
                              <linkXRef>true</linkXRef>
                          </configuration>
                      </plugin>
                  </reportPlugins>
              </configuration>
          </plugin>
   </plugins>

</build>
</project>

当我执行mvn site时,除非我在存储库中安装了checkstyle项目,否则它会失败,这非常烦人,因为如果在文件中稍作修改我需要在repo中再次安装它。

我知道Maven应该以这种方式工作,但有没有办法在编译时配置根pom来解析checkstyle项目的依赖关系而不是从repo中获取它?

我尝试使用maven选项“--also-make”和“-pl”但我无法使其正常工作。

另外我知道我可以告诉checkfile使用file:///协议查找checkstyle文件(这就是我现在正在做的事情),但我宁愿找到另一种方法。

提前致谢

0 个答案:

没有答案