2009-01-29 47 views
6

我有一个项目,作为Maven依赖项的jar文件,其中包含一个xml文件,我存储了我的checkstyle规则。我认为只要使用这个配置就可以了: <configLocation> mycheckstyle.xml </configLocation >。我的理解是应该在类路径上搜索文件,我的jar文件是Maven依赖项,所以应该找到它,但是我得到一个资源未找到异常。有什么建议么?在此先感谢..Maven 2 Checkstyle configLocation

裤裤

回答

10

尝试向您的插件配置添加依赖项部分。

例如,

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-checkstyle-plugin</artifactId> 
    <dependencies> 
     <dependency> 
     <groupId>com.example.whizbang</groupId> 
     <artifactId>build-tools</artifactId> 
     <version>1.0</version> 
     </dependency> 
    </dependencies> 
    </plugin> 

更多信息请参见Maven Checkstyle Plugin - Multimodule Configuration

0

Checkstyle plugin page解释,

configLocation:

指定的XML配置中使用的位置。

可能的值是文件系统路径,URL,或类路径资源

我从来没有认为我的项目...

你肯定包含XML文件中的JAR是在类路径时的CheckStyle插件开始?

0

我有一个父指定checkstyle插件,并在其资源文件夹中有相应的mycheckstyle.xml。我使用Maven Assembly插件来制作一个我父母资源文件夹的jar文件,并将该jar定义为我孩子的依赖项。所以当孩子继承checkstyle插件+它是父母的配置时,它应该能够找到mycheckstyle.xml。我按照checkstyle插件页面上的说明进行了操作,但没有奏效。

+0

你的意思是你做了什么解释在这里:http://maven.apache.org/plugins/maven-checkstyle-plugin/examples/mu lti-module-config.html? 你可以编辑你的初始文章,并把一些pom.xml信息... – romaintaz 2009-01-29 10:17:33

+0

没有不完全是这样的。这不是多模块。这是父母对小孩的简单继承。父级在其报告标记中包含checkstyle插件,并且子级将其继承。我将父资源作为jar添加到子进程以获得配置文件。 – kukudas 2009-01-29 10:28:33

0

如果你有你的自我创建和编译检查本地Maven仓库,请注意不要忘记定义

<repositories> 
    <repository> 
     <id>my local repository</id> 
     <url>file:${basedir}/.m2artifacts</url> 
    </repository> 
    <!-- ... --> 
</repositories> 

而且

<pluginRepositories> 
    <pluginRepository> 
     <id>my local repository</id> 
     <url>file:${basedir}/.m2artifacts</url> 
    </pluginRepository> 
    <!-- ... --> 
</pluginRepositories> 

否则插件依赖性只会看在中央Maven回购,但不会找到您的本地JAR文件与您的检查类

相关问题