Maven 2 运行声纳分析时排除依赖项

Maven 2 运行声纳分析时排除依赖项,maven-2,sonarqube,Maven 2,Sonarqube,我有一个测试项目需要一些重罐子,我把它们放在${M2_HOME}\test\src\main\resources\中,并使用以下方法将它们添加到pom.xml中: <dependency> <groupId>server</groupId> <artifactId>server</artifactId> <version>1.0</version>

我有一个测试项目需要一些重罐子,我把它们放在
${M2_HOME}\test\src\main\resources\
中,并使用以下方法将它们添加到pom.xml中:

    <dependency>
        <groupId>server</groupId>
        <artifactId>server</artifactId>
        <version>1.0</version>
        <scope>system</scope>
        <systemPath>${M2_HOME}\test\src\main\resources\server.jar</systemPath>
    </dependency>
    <dependency>
        <groupId>client</groupId>
        <artifactId>client</artifactId>
        <version>6.0</version>
        <scope>system</scope>
        <systemPath>${M2_HOME}\test\src\main\resources\client.jar</systemPath>
    </dependency> 

服务器
服务器
1
系统
${M2\u HOME}\test\src\main\resources\server.jar
客户
客户
6
系统
${M2\u HOME}\test\src\main\resources\client.jar

我想知道是否可以在sonar分析期间排除这些JAR,或者通常只分析java sources文件夹。

如果问题是这些JAR包含在sonar分析中,因为它们位于
src/main/resources
中,那么一个明显的解决方案是将它们放在其他地方(请参阅后脚本)。如果出于任何原因,这是不可能的,请澄清(我真的很想知道你为什么把这些罐子放在参考资料下)


如果问题是这些JAR被声明为依赖项,那么可以使用不包含它们的特定概要文件来运行sonar


注:请注意,使用
系统
范围是一种不好的做法,并且有几个缺点(如前所述或所述)。一种更干净的方法是使用中建议的基于文件的存储库。

如果问题是这些JAR包含在声纳分析中,因为它们位于
src/main/resources
,那么一个明显的解决方案是将它们放在其他地方(请参阅后脚本)。如果出于任何原因,这是不可能的,请澄清(我真的很想知道你为什么把这些罐子放在参考资料下)


如果问题是这些JAR被声明为依赖项,那么可以使用不包含它们的特定概要文件来运行sonar


注:请注意,使用
系统
范围是一种不好的做法,并且有几个缺点(如前所述或所述)。更干净的方法是使用中建议的基于文件的存储库。

为什么有系统路径deps?为什么不使用通常的模块依赖项或将它们放入Maven存储库(例如Nexus等)中呢?为什么有系统路径deps?为什么不使用常用的模块依赖项或将它们放入Maven存储库(例如Nexus等)。谢谢,效果很好!但如果我不想将JAR复制到maven存储库中呢?并从企业存储库中使用它们来避免duplication@achraf我不确定是否能回答这个问题。这会有什么变化?我们有一个很重的自定义库,只是为了节省磁盘空间space@achraf好的,我明白了。但从Maven依赖性的角度来看,我认为它不会改变任何东西(只是存储库位置)。除非我错过了什么。不仅仅是存储库位置,还有使用辅助代表的可能性!谢谢你工作得很好!但如果我不想将JAR复制到maven存储库中呢?并从企业存储库中使用它们来避免duplication@achraf我不确定是否能回答这个问题。这会有什么变化?我们有一个很重的自定义库,只是为了节省磁盘空间space@achraf好的,我明白了。但从Maven依赖性的角度来看,我认为它不会改变任何东西(只是存储库位置)。除非我错过了什么。不仅仅是存储库位置,还有使用辅助代表的可能性!