SonarLint插件不适用于Eclipse Oxygen

时间:2018-03-31 01:41:42

标签: java eclipse sonarqube sonarlint-eclipse

我正在尝试让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项目如下所示:

enter image description here

我已成功设置了项目绑定。

enter image description here

我可以启动SonarQube并毫无问题地登录。 我导航到我的"简单项目"在Windows资源管理器中,从那里打开Windows PowerShell。

我在Windows PowerShell中执行了命令 sonar-scanner ,该命令已成功扫描简单项目,我可以在SonarQube服务器中看到结果。

enter image description here

所以到目前为止一切都很好。但是...... Eclipse中没有任何问题迹象。我没有在Eclipse中的SonarLint On-the-fly选项卡下看到任何问题。

enter image description here

我确实有#34;自动运行SonarLint"启用(选中),我还尝试通过右键单击文件>手动分析App.java文件。 SonarLint>分析

我发现在代码中没有列出任何问题,或者在" SonarLint On-the-fly"标签。我一定是在某处错过了一步。任何人都可以给我任何提示如何在Eclipse中使用自动SonarLint问题检测?

谢谢!

3 个答案:

答案 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。之后,它反映在项目代码中。