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