问题标签 [sonarlint-eclipse]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sonarqube - 在连接模式下下载问题时,有没有办法告诉 SonarLint Eclipse 添加项目根文件夹?
我在连接模式下运行 SonarLint,它成功下载了有关规则和问题的更一般信息,
例如
/batch/issues?key=MyProject
工作正常。
当我在 Eclipse 中打开特定源文件时,该文件会使用服务器中的规则正确分析,但下载服务器问题的请求失败。
SonarLint 控制台:
找到 8 个问题
在 328 毫秒内完成
下载 /project_root/src/main/java/com/mycompany/mypackage/MyClass.java 的服务器问题
但请求失败并显示 HTTP 404 代码和以下消息:
{"errors":[{"msg":"组件键 'MyProject:src/main/java/com/mycompany/mypackage/MyClass.java' 未找到"}]}
如果我从浏览器发送请求并手动将“project_root/”添加到密钥,则请求成功并且我得到服务器问题。
我在 SonarQube 中找到了一些关于此请求的文档,位于
[mysonarhost]/web_api/batch/issues
但它并没有透露太多关于密钥的正确值。似乎 SonarLint 和 SonarQube 不同意特定源文件的“文件密钥”应该是什么。
这是可以通过 SonarLint 中的某些设置来解决的问题,还是我需要更改我的 SonarQube 项目设置?
版本:
Eclipse:
版本:Oxygen.3 Release (4.7.3)
Build id:20180308-1800Eclipse 的 SonarLint:
3.4.0.201803051332SonarQube:
版本 6.7.2(内部版本 37468)
java - SonarLint 插件在 Eclipse Oxygen 中不起作用
我正在尝试让 SonarLint 插件在 Eclipse 中工作,但我运气不佳。更具体地说,在查看 Java 项目中的简单 Java 类时,我没有看到“SonarLint On-the-fly”选项卡中检测到或突出显示的任何问题。
我使用以下软件。
操作系统:
赢 10 专业版 - 版本 1709
爪哇:
java版本“1.8.0_161”
Java(TM) SE 运行时环境 (build 1.8.0_161-b12)
Java HotSpot(TM) 64 位服务器 VM(内部版本 25.161-b12,混合模式)
日食:
版本:Oxygen.3 版本 (4.7.3)
声纳软件:
SonarLint Eclipse 插件:
org.sonarlint.eclipse.site-3.4.0 来源:https ://www.sonarlint.org/eclipse/
声纳:
SonarQube 7.0 来源:https ://www.sonarqube.org/downloads/
声纳扫描仪:
sonar-scanner-3.1.0.1141 来源:https ://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner (Windows 64 位 - 链接)
我下载了 SonarLint Eclipse 插件并在 Eclipse 中成功安装了它。我可以看到所有 SonarLint 选项卡和配置选项。
我下载并成功设置了 SonarQube 服务器(默认端口 9000 上的 localhost)。我还下载并设置了声纳扫描仪。
我在 Eclipse 中创建了一个简单的 Java 项目,并在其中创建了一个 Java 类。我将 sonar-project.properties 文件添加到 Java 项目中。
声纳-project.properties
我的 Eclipse Java 项目如下所示:
我已成功设置我的项目绑定。
我可以启动 SonarQube 并毫无问题地登录。我在 Windows 资源管理器中导航到“简单项目”的位置,并从那里打开了 Windows PowerShell。
我在成功扫描了简单项目的 Windows PowerShell 中执行了命令sonar-scanner,我可以在我的 SonarQube 服务器中看到结果。
所以到目前为止一切都很好。但是...... Eclipse 中没有任何问题的迹象。我在 Eclipse 的 SonarLint On-the-fly 选项卡下看不到任何问题。
我确实启用了(选中)“自动运行 SonarLint”,并且我还尝试通过右键单击文件 > SonarLint > 分析来手动分析 App.java 文件。
我发现代码中没有下划线或“SonarLint On-the-fly”选项卡中列出的问题。我一定在某处错过了一步。谁能给我任何提示如何让自动 SonarLint 问题检测在 Eclipse 中工作?
谢谢!
rule - SonarLint 规则中的“squid:”前缀是什么意思?
我刚开始使用 Eclipse 的 SonarLint 插件来分析我的 Java 代码。我想知道,SonarLint Rule 键中的“squid:”前缀是什么意思?它代表什么吗?(见下面的截图)
谢谢!
迈克尔
sonarlint - SonarLint 更改允许的认知复杂性
我想将 SonarLint 中方法的允许认知复杂度从默认值 15 更改为较低的值,例如 10。我正在使用用于 Eclipse 的 SonarLint 插件。
如何才能做到这一点?
java - Java - SonarLint Detect the Blocker - 在“finally”子句中关闭此“PreparedStatement”
标题:Java - SonarLint Detect the Blocker - 在“finally”子句中关闭此“PreparedStatement”。
问题:我在一个方法中有多个 PreparedStatement(示例),然后我已经关闭 PreparedStatement 但 PreparedStatement 的第一行(//preparedStatement no 1 - table_a)仍然检测到 Blocker -(在“finally”中关闭此“PreparedStatement”条款):
java - SonarLint:将此 lambda 替换为方法引用
我有一个包含错误列表的集合。我想通过一个键(UUID UserId)对它们进行分组。为此,我从这个答案中复制了代码: https ://stackoverflow.com/a/30202075/4045364
Sonar Lint 给我以下错误:
将此 lambda 替换为方法引用。
->
我试过的:
基于这些问题:SONAR: Replace this lambda with a method reference和Runable Interface : Replace this lambda with a method reference。(未设置 sonar.java.source。假设为 8 或更大。)
基于这个问题:Replace this lambda with method reference 'Objects::nonNull'
两者都给出错误:
此表达式的目标类型必须是函数式接口
有没有办法解决这个 SonarLint 问题?
eclipse-plugin - 在 eclipse 中离线安装 sonarlint 插件
我有一些系统,由于安全问题,我们让它们没有互联网。我们如何在 Eclipse 中离线安装 sonarlint 插件?安装的手动步骤是什么?我们从哪里下载这个jar?
sonarqube - SonarLint for Eclipse 无法绑定项目:只能返回前 10000 个结果
无法从服务器
“ sonarqube 服务器 url ”更新数据 sonarqube服务器 url
/api/rules/search.protobuf?f=repo,name,severity,lang,htmlDesc,htmlNote,internalKey,isTemplate,templateKey,actives&statuses=BETA
上的错误 400 , DEPRECATED,READY&p=21&ps=500:只能返回前 10000 个结果。询问了第 10500 个结果。
java - Eclipse - 使用新字符串的声纳 S2629 可能出现误报
我正在使用最新的 Eclipse 和 Sonar 插件
作为日志记录的答案,有以下行:
只有在调试级别时才应该创建字符串:
但声纳将其标记为squid:S2629
:
“先决条件”和日志记录参数不应该需要评估 (squid:S2629)
并给出连接示例
logger.log(Level.DEBUG, "出了点问题:" + message); // 不合规的;即使日志级别太高而无法显示调试消息,也会执行字符串连接
这是误报声纳警告还是我错过了什么?
这不是这个问题的重复,该问题通常询问规则概念,即连接,但不使用创建对象进行格式化new String
答案的链接还说创建new Date()
不会产生内置格式的问题:
以这种方式记录,可以避免在实际不记录任何内容时字符串连接的性能开销。