我正在尝试让SonarLint插件在Eclipse中工作,但我没有太多运气。 更具体地说,我没有在" SonarLint On-the-fly"中看到任何检测到或突出显示的问题。查看Java项目中的简单Java类时的选项卡。
我使用以下软件。
操作系统:
Win 10 Pro - 版本1709
Java :
java版本" 1.8.0_161"
Java(TM)SE运行时环境(版本1.8.0_161-b12)
Java HotSpot(TM)64位服务器VM(版本25.161-b12,混合模式)
的Eclipse :
版本:Oxygen.3发布(4.7.3)
声纳软件:
SonarLint Eclipse插件:
org.sonarlint.eclipse.site-3.4.0 来源:https://www.sonarlint.org/eclipse/
SonarQube :
SonarQube 7.0 来源:https://www.sonarqube.org/downloads/
SonarScanner :
声纳的扫描仪3.1.0.1141 来源:https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner(Windows 64位 - 链接)
我下载了SonarLint Eclipse插件并成功将其安装在Eclipse中。我可以看到所有SonarLint选项卡和配置选项。
我下载并成功设置了SonarQube服务器(默认端口9000上的localhost)。我还下载并设置了Sonar Scanner。
我在Eclipse中创建了一个简单的Java项目,并在其中创建了一个Java类。我将sonar-project.properties文件添加到Java项目中。
sonar-project.properties
# must be unique in a given SonarQube instance
sonar.projectKey=sp
# this is the name and version displayed in the SonarQube UI. Was mandatory prior to SonarQube 6.1.
sonar.projectName=Simple Project
sonar.projectVersion=1.0
# Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows.
# This property is optional if sonar.modules is set.
sonar.sources=.
# Encoding of the source code. Default is default system encoding
#sonar.sourceEncoding=UTF-8
我的Eclipse Java项目如下所示:
我已成功设置了项目绑定。
我可以启动SonarQube并毫无问题地登录。 我导航到我的"简单项目"在Windows资源管理器中,从那里打开Windows PowerShell。
我在Windows PowerShell中执行了命令 sonar-scanner ,该命令已成功扫描简单项目,我可以在SonarQube服务器中看到结果。
所以到目前为止一切都很好。但是...... Eclipse中没有任何问题迹象。我没有在Eclipse中的SonarLint On-the-fly选项卡下看到任何问题。
我确实有#34;自动运行SonarLint"启用(选中),我还尝试通过右键单击文件>手动分析App.java文件。 SonarLint>分析
我发现在代码中没有列出任何问题,或者在" SonarLint On-the-fly"标签。我一定是在某处错过了一步。任何人都可以给我任何提示如何在Eclipse中使用自动SonarLint问题检测?
谢谢!
答案 0 :(得分:4)
事实证明,问题出在我的包命名约定中。 从" com.test.pckg"更改包名称to" com.dev.pckg"解决了这个问题。
SonarLint谷歌集团的Jonathan指出了以下内容:
Eclipse中的Sonarlint无法查看哪些文件是测试文件和哪些文件 是源,所以它使用一个简单的正则表达式,寻找关键字测试 文件路径上的任何位置。从截图中,您的文件是 在名为test的文件夹中,因此只应用测试规则。
尝试将文件放在包中,路径中没有单词test, 或者检查Sonarlint选项以查看是否可以编辑正则表达式。
来源:https://groups.google.com/forum/?pli=1#!topic/sonarlint/fw36A2H9AiI
答案 1 :(得分:1)
您可以在窗口中更改首选项搜索 - >偏好 - >输入搜索文本文件" SonarLint"第一个选项你可以删除下一个选项"测试文件正则表达式"你可以在 test 文件中使用它:)enter image description here
答案 2 :(得分:0)
由于市场不起作用,我离线尝试将sonarlint安装到Eclipse中。成功安装插件后,我看不到该功能已启用。安装后没有反映出来。因此,我下载了一个新的Eclipse IDE,然后就可以在市场上安装sonarlint。之后,它反映在项目代码中。