我们目前正在运行5.1.2版本的生产服务器,我们计划升级.
测试表明,升级到5.3可以按预期工作.
但是,从5.1.2 - > 5.4或5.1.2 - > 5.3 - > 5.4升级会导致5.1.2实例中的所有质量配置文件变空 - 根本没有分配任何规则.
更糟糕的是,备份规则并尝试恢复它们会无声地失败.
还有其他人经历过这个吗?有解决方法吗?
提前致谢.
我试图通过Sonar的静态代码分析来获得一个简单的Gradle项目(由eclipse自动创建的项目),以便在我们的持续集成上运行.我们的CI服务器位于代理服务器后面,我必须通过内部Nexus服务器访问Gradle插件存储库.
正如所描述的userguide我已经添加了以下我settings.gradle
pluginRepositories {
maven {
url 'http://link.to.my.nexus'
}
gradlePluginPortal()
}
rootProject.name = 'GradleTestProject'
Run Code Online (Sandbox Code Playgroud)
我的build.gradle看起来像这样:
plugins {
id "org.sonarqube" version "2.0.1"
}
apply plugin: 'java'
repositories {
mavenLocal()
mavenCentral()
}
dependencies {
compile 'org.slf4j:slf4j-api:1.7.21'
testCompile 'junit:junit:4.12'
}
Run Code Online (Sandbox Code Playgroud)
当我在Jenkins上运行它时,我收到以下错误消息:
FAILURE: Build failed with an exception.
* Where:
Settings file '/opt/hudson/jobs/GradleTestProject/workspace/settings.gradle' line: 1
* What went wrong:
A problem occurred evaluating settings 'workspace'.
> Could not find method pluginRepositories() for arguments [settings_20tc2o9xuj82hi1fvpe4wvcvt$_run_closure1@52b56c40] on settings 'workspace'.
Run Code Online (Sandbox Code Playgroud)
我查看了网络上的其他示例.他们都像我描述的那样做.
顺便说一句:我正在使用Gradle 2.12
IntelliJ IDEA - >设置 - >其他设置 - > SonarLint常规设置SonarQube服务器:Localhost(http:// localhost:9000 ;登录:admin;密码:admin;测试连接 - "验证成功")更新绑定:几秒钟前
IntelliJ IDEA - >设置 - >其他设置 - > SonarLint项目设置绑定到服务器:Localhost SonarQube项目:首先更新服务器绑定
但它已经绑定了!可能有什么不对?Web界面也看不到项目.当在工作区中使用SonarLint按Anailze代码时,我收到一个错误弹出:"项目绑定到无效的SonarQube服务器.播放,检查配置"
我们想在项目中使用SonarQube和一些CI工具.Sonar Server url在主pom.xml中配置.
项目中有几个团队成员.那么当一个团队成员执行声纳时会发生什么:本地声纳与他的本地变化,然后另一个团队成员执行声纳:声纳与他的本地更改,然后有人执行声纳:来自CI工具的声纳(它配置为分析Git中的源代码)库)?
SonarQube会显示相关团队成员本地更改的问题吗?如果团队成员本地源代码和Git存储库中的源代码之间存在差异怎么办?
我有SonarQube 6.1.当我点击主仪表板项目小部件中的项目条目时,我进入一个项目主页,其中显示"质量门通过",并列出了一些问题('错误','漏洞','代码闻起来'和'重复).
在左侧,靠近顶部,在项目名称下方,有一个"主页"图标,在右侧显示"发行","措施","代码"和"管理".
当我试图访问项目仪表板时 - 类似于主仪表板,但特定于项目 - 我找到了这个页面http://docs.sonarqube.org/display/SONARQUBE56/Project+Dashboards.它部分显示了一个项目主页,它看起来与我的安装项目主页非常不同.而不是'Issuses','Measures','Code'和'Administration',就像我的情况一样,它有'Technical Debt','Coverage'等等,还有'Dashboards'.我想这就是我应该去寻找项目仪表板的地方.但是我的SonarQube向我展示的那个菜单项(以及其他菜单项)正好丢失了!
我能做什么?
SonarQube曾经有仪表板,可以非常方便地显示指标随时间的变化情况.甚至还有一个名为"Time Machine"的仪表板.
如何在SonarQube 6.1中看到此类信息?我很欣赏新的关注"泄漏期",但这不是我关心的一切.
文档说你不应该锁定基于值的Java类的实例,例如Optional因为代码
如果它试图将两个引用区分为基于值的类的相等值,则可能产生不可预测的结果......间接地通过对同步的诉求......
因为未来的JVM实现可能不会使用对象标头和基于值的类的引用指针,所以一些限制很明显.(例如,没有锁定JVM必须不支持的标识.锁定的引用可以被删除并在以后被另一个替换,这使得释放锁定毫无意义并将导致死锁).
IE认为该禁令是面向未来的.但是这个断言没有参考.
如果以未来为基础,我想参考它.如果没有,我想了解基于价值的对象是什么基础Object.
编辑
顺便说一句,我理解不要锁定Integers和其他原始包装类的原因; 他们可能会被缓存.但是我找不到任何文档说基于价值的类,以及整数,等等.基于价值观,它们不是基于价值的类.IE 可选的JavaDocs等.明确地说
这是一个基于价值的课程
对于Integer,等等,情况并非如此.
使用声纳如何仅针对我所做的当前更改进行静态代码分析。例如,我的项目 100 类/文件,我对类/文件进行了更改,现在声纳必须仅针对该特定项目而不是整个项目运行静态代码分析。如何实现?
尝试使用应该是基本安装设置在EC2上设置SonarQube.
但是当我尝试去应用程序时,当我尝试IPv4公共IP 187.187.87.87:9000(不是真正的IP)或尝试ec2-134-73-134-114.compute-1.amazonaws时,它永远不会出现. com:9000(例如,不是真正的IP)
也许这是我的无知或我没有正确配置,因为它与初始EC2设置有关.
如果有人有任何想法,请告诉我.
linux amazon-ec2 amazon-web-services sonarqube sonarqube-ops
我正在使用 Jacoco 插件进行声纳代码覆盖,并使用强大的模拟 mockito 组合来编写 JUnit 测试用例,而当我运行 mvn clean install 时,构建一切顺利,但控制台显示了一个非常长的堆栈跟踪链,它不断出现项目中使用了很多很多类,而且很烦人,异常跟踪类似于以下-
java.lang.instrument.IllegalClassFormatException: Error while instrumenting class..
Caused by: java.io.IOException: Error while instrumenting class.
Caused by: java.lang.IllegalStateException: Class <class-name> is already instrumented.
Run Code Online (Sandbox Code Playgroud)
我通过以下链接寻求解决方案,但找不到出路:-
https://github.com/jacoco/jacoco/issues/32
Run Code Online (Sandbox Code Playgroud)
链接说“该错误表明为同一进程配置了两个 JaCoCo 代理,看起来激活 surefire-report-plugin 导致双重代理,这不是特例,而是用于测试的 JVM 配置错误“在我的情况下,我猜它甚至不是双重代理,因为我的 argLine 设置为只有一个 jacoco 代理。
在我的情况下,argLine 设置为以下 -
javaagent:C:\\Users\\user\\.m2\\repository\\org\\jacoco\\org.jacoco.agent\\0.7.6.201602180812\\org.jacoco.agent-0.7.6.201602180812-runtime.jar=destfile=C:Users\\user\\git\\package\\target\\jacoco.exec
Run Code Online (Sandbox Code Playgroud)
我的 jacoco-sonar 配置的 pom.xml 条目如下 -
<properties>
<sonar.sources>src/main/java</sonar.sources>
<sonar.tests>src/test/java</sonar.tests>
<sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
<sonar.jacoco.reportPaths>${project.basedir}/target/jacoco.exec</sonar.jacoco.reportPaths>
<sonar.language>java</sonar.language>
<sonar.binaries>${project.basedir}/target/classes</sonar.binaries>
<sonar.inclusions>
**/com/abc/service/impl/ABCServiceImpl.java,
**/com/abc/dao/impl/ABCDAOImpl.java
</sonar.inclusions>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20</version>
<configuration>
<skipTests>false</skipTests>
<argLine>-Xmx1024m -XX:MaxPermSize=256m ${argLine}</argLine>
</configuration> …Run Code Online (Sandbox Code Playgroud)