Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 依赖范围系统的声纳冲突_Java_Maven_Sonarqube - Fatal编程技术网

Java 依赖范围系统的声纳冲突

Java 依赖范围系统的声纳冲突,java,maven,sonarqube,Java,Maven,Sonarqube,需要帮助解决声纳问题。我们正在使用maven公共存储库中没有的一些第三方JAR。 我将其依赖性定义为: <dependency> <groupId>api</groupId> <artifactId>api</artifactId> <scope>system</scope> <version&g

需要帮助解决声纳问题。我们正在使用maven公共存储库中没有的一些第三方JAR。 我将其依赖性定义为:

        <dependency>
            <groupId>api</groupId>
            <artifactId>api</artifactId>
            <scope>system</scope>
            <version>1.0</version>
            <systemPath>${project.basedir}\lib\api-1.0.jar</systemPath>
        </dependency>

应用程序编程接口
应用程序编程接口
系统
1
${project.basedir}\lib\api-1.0.jar
但是声纳发出了一个严重的信息,对它进行了破坏

更新此范围并删除“系统路径”


使用maven公共存储库中没有的maven添加第三方jar的正确方法是什么。

您应该在本地maven存储库中安装这些依赖项,作为
maven clean install

或者更好地使用或部署您的依赖项

然后,您可以将您的库用作常规maven依赖项

<dependency>
        <groupId>api</groupId>
        <artifactId>api</artifactId>
        <version>1.0</version>
    </dependency>

应用程序编程接口
应用程序编程接口
1

您应该在本地maven存储库中将这些依赖项安装为
maven clean install

或者更好地使用或部署您的依赖项

然后,您可以将您的库用作常规maven依赖项

<dependency>
        <groupId>api</groupId>
        <artifactId>api</artifactId>
        <version>1.0</version>
    </dependency>

应用程序编程接口
应用程序编程接口
1

通过在maven命令下运行,在本地repo中安装
mvn安装:安装文件-Dfile=api-1.0.jar
。这允许maven拥有该jar,而无需从远程repo获取


然后,您不需要通过在maven命令下运行来将作用域指定为本地repo中的
system

安装
mvn安装:安装文件-Dfile=api-1.0.jar
。这允许maven拥有该jar,而无需从远程repo获取


然后,您不需要将作用域指定为
system

,我不确定如何解决此特定问题,但当sonarqube提出问题时,它会提供详细信息,说明问题的原因以及如何解决。UI中应该有一个访问额外信息的选项。我确实查看了sonarqube提供的信息,但它只解释了问题以及为什么不应该使用它。它没有提供解决问题的替代方法。我不确定如何解决这个特定问题,但当sonarqube提出问题时,它会提供详细信息,说明问题的原因以及如何解决。UI中应该有一个访问额外信息的选项。我确实查看了sonarqube提供的信息,但它只解释了问题以及为什么不应该使用它。它没有提供可用于解决此问题的替代方法。我不了解nexus存储库管理器和artifactory。只有两个外部罐子。部署它们是个好主意吗。这些存储库是免费的吗?nexus是免费的,它允许您在internet访问失败时对所有依赖项进行本地缓存。使用repository manager是公司项目的常规做法。我不了解nexus repository manager和artifactory。只有两个外部罐子。部署它们是个好主意吗。这些存储库是免费的吗?nexus是免费的,它允许您在internet访问失败时对所有依赖项进行本地缓存。使用repository manager是公司项目的常规做法。我在本地repo中安装了jar并解决了问题。我在本地repo中安装了jar并解决了问题。