声纳分析失败并出现 SocketTimeoutException

2023-12-04

当尝试从 ant 运行 Sonar 时,由于 SocketTimeoutException,我遇到了偶发故障。

设置:我在 RHEL 6 机器上运行 Sonar 4.0,配置为与 Postgres 9.2 一起运行。我使用 Jenkins 1.544 每晚构建 175 个项目。我让 Jenkins 在从机上使用单个执行器串行构建项目,但最近我通过 swarm 添加了第二个从机,所以现在我有两个节点(每个节点都有一个执行器),并行构建。我使用声纳 ant 任务从 ant 运行声纳,这在很大程度上工作得很好。

当我只有一个从站时,在尝试加载引导属性时,偶尔会出现作业失败并出现 SocketTimeoutException 的情况。现在我添加了第二个节点,这种情况似乎发生得更加频繁。有趣的是,当我使用 ant 在命令行上构建项目时,我也看到了同样的失败。这似乎不是服务器资源问题。我是声纳服务器的唯一用户,我能够在没有任何实际负载的情况下收到此错误。

这是我今天早上从命令行运行时得到的堆栈跟踪:

 [exec] BUILD FAILED
 [exec] /var/lib/jenkins/sonar.buildfile:113: org.sonar.runner.impl.RunnerException: Unable to execute Sonar
 [exec]     at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:79)
 [exec]     at org.sonar.runner.impl.BatchLauncher$1.run(BatchLauncher.java:63)
 [exec]     at java.security.AccessController.doPrivileged(Native Method)
 [exec]     at org.sonar.runner.impl.BatchLauncher.doExecute(BatchLauncher.java:57)
 [exec]     at org.sonar.runner.impl.BatchLauncher.execute(BatchLauncher.java:50)
 [exec]     at org.sonar.runner.api.EmbeddedRunner.doExecute(EmbeddedRunner.java:71)
 [exec]     at org.sonar.runner.api.Runner.execute(Runner.java:89)
 [exec]     at org.sonar.ant.SonarTask.launchAnalysis(SonarTask.java:53)
 [exec]     at org.sonar.ant.SonarTask.execute(SonarTask.java:48)
 [exec]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
 [exec]     at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
 [exec]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 [exec]     at java.lang.reflect.Method.invoke(Method.java:601)
 [exec]     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
 [exec]     at org.apache.tools.ant.Task.perform(Task.java:348)
 [exec]     at org.apache.tools.ant.Target.execute(Target.java:392)
 [exec]     at org.apache.tools.ant.Target.performTasks(Target.java:413)
 [exec]     at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
 [exec]     at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
 [exec]     at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
 [exec]     at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
 [exec]     at org.apache.tools.ant.Main.runBuild(Main.java:811)
 [exec]     at org.apache.tools.ant.Main.startAnt(Main.java:217)
 [exec]     at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
 [exec]     at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
 [exec] Caused by: org.sonar.api.utils.SonarException: Unable to request: /batch_bootstrap/properties?dryRun=false
 [exec]     at org.sonar.batch.bootstrap.ServerClient.request(ServerClient.java:92)
 [exec]     at org.sonar.batch.bootstrap.ServerClient.request(ServerClient.java:82)
 [exec]     at org.sonar.batch.bootstrap.ServerClient.request(ServerClient.java:78)
 [exec]     at org.sonar.batch.bootstrap.BatchSettings.downloadSettings(BatchSettings.java:97)
 [exec]     at org.sonar.batch.bootstrap.BatchSettings.init(BatchSettings.java:72)
 [exec]     at org.sonar.batch.bootstrap.BatchSettings.<init>(BatchSettings.java:55)
 [exec]     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
 [exec]     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
 [exec]     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
 [exec]     at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
 [exec]     at org.picocontainer.injectors.AbstractInjector.newInstance(AbstractInjector.java:145)
 [exec]     at org.picocontainer.injectors.ConstructorInjector$1.run(ConstructorInjector.java:342)
 [exec]     at org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:270)
 [exec]     at org.picocontainer.injectors.ConstructorInjector.getComponentInstance(ConstructorInjector.java:364)
 [exec]     at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.getComponentInstance(AbstractInjectionFactory.java:56)
 [exec]     at org.picocontainer.behaviors.AbstractBehavior.getComponentInstance(AbstractBehavior.java:64)
 [exec]     at org.picocontainer.behaviors.Stored.getComponentInstance(Stored.java:91)
 [exec]     at org.picocontainer.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:698)
 [exec]     at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:646)
 [exec]     at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:631)
 [exec]     at org.picocontainer.parameters.BasicComponentParameter$1.resolveInstance(BasicComponentParameter.java:118)
 [exec]     at org.picocontainer.parameters.ComponentParameter$1.resolveInstance(ComponentParameter.java:136)
 [exec]     at org.picocontainer.injectors.SingleMemberInjector.getParameter(SingleMemberInjector.java:78)
 [exec]     at org.picocontainer.injectors.SingleMemberInjector.getMemberArguments(SingleMemberInjector.java:61)
 [exec]     at org.picocontainer.injectors.MethodInjector.getMemberArguments(MethodInjector.java:100)
 [exec]     at org.picocontainer.injectors.MethodInjector$2.run(MethodInjector.java:112)
 [exec]     at org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:270)
 [exec]     at org.picocontainer.injectors.MethodInjector.decorateComponentInstance(MethodInjector.java:120)
 [exec]     at org.picocontainer.injectors.CompositeInjector.decorateComponentInstance(CompositeInjector.java:58)
 [exec]     at org.picocontainer.injectors.Reinjector.reinject(Reinjector.java:142)
 [exec]     at org.picocontainer.injectors.ProviderAdapter.getComponentInstance(ProviderAdapter.java:96)
 [exec]     at org.picocontainer.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:698)
 [exec]     at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:646)
 [exec]     at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:631)
 [exec]     at org.picocontainer.parameters.BasicComponentParameter$1.resolveInstance(BasicComponentParameter.java:118)
 [exec]     at org.picocontainer.parameters.ComponentParameter$1.resolveInstance(ComponentParameter.java:136)
 [exec]     at org.picocontainer.injectors.SingleMemberInjector.getParameter(SingleMemberInjector.java:78)
 [exec]     at org.picocontainer.injectors.ConstructorInjector$CtorAndAdapters.getParameterArguments(ConstructorInjector.java:309)
 [exec]     at org.picocontainer.injectors.ConstructorInjector$1.run(ConstructorInjector.java:335)
 [exec]     at org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:270)
 [exec]     at org.picocontainer.injectors.ConstructorInjector.getComponentInstance(ConstructorInjector.java:364)
 [exec]     at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.getComponentInstance(AbstractInjectionFactory.java:56)
 [exec]     at org.picocontainer.behaviors.AbstractBehavior.getComponentInstance(AbstractBehavior.java:64)
 [exec]     at org.picocontainer.behaviors.Stored.getComponentInstance(Stored.java:91)
 [exec]     at org.picocontainer.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:698)
 [exec]     at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:646)
 [exec]     at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:631)
 [exec]     at org.picocontainer.parameters.BasicComponentParameter$1.resolveInstance(BasicComponentParameter.java:118)
 [exec]     at org.picocontainer.parameters.ComponentParameter$1.resolveInstance(ComponentParameter.java:136)
 [exec]     at org.picocontainer.injectors.SingleMemberInjector.getParameter(SingleMemberInjector.java:78)
 [exec]     at org.picocontainer.injectors.ConstructorInjector$CtorAndAdapters.getParameterArguments(ConstructorInjector.java:309)
 [exec]     at org.picocontainer.injectors.ConstructorInjector$1.run(ConstructorInjector.java:335)
 [exec]     at org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:270)
 [exec]     at org.picocontainer.injectors.ConstructorInjector.getComponentInstance(ConstructorInjector.java:364)
 [exec]     at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.getComponentInstance(AbstractInjectionFactory.java:56)
 [exec]     at org.picocontainer.behaviors.AbstractBehavior.getComponentInstance(AbstractBehavior.java:64)
 [exec]     at org.picocontainer.behaviors.Stored.getComponentInstance(Stored.java:91)
 [exec]     at org.picocontainer.DefaultPicoContainer.instantiateComponentAsIsStartable(DefaultPicoContainer.java:1033)
 [exec]     at org.picocontainer.DefaultPicoContainer.addAdapterIfStartable(DefaultPicoContainer.java:1025)
 [exec]     at org.picocontainer.DefaultPicoContainer.startAdapters(DefaultPicoContainer.java:1002)
 [exec]     at org.picocontainer.DefaultPicoContainer.start(DefaultPicoContainer.java:766)
 [exec]     at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:91)
 [exec]     at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:77)
 [exec]     at org.sonar.batch.bootstrapper.Batch.startBatch(Batch.java:92)
 [exec]     at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:74)
 [exec]     at org.sonar.runner.batch.IsolatedLauncher.execute(IsolatedLauncher.java:45)
 [exec]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 [exec]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
 [exec]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 [exec]     at java.lang.reflect.Method.invoke(Method.java:601)
 [exec]     at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:75)
 [exec]     ... 24 more
 [exec] Caused by: java.net.SocketTimeoutException: Read timed out
 [exec]     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
 [exec]     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
 [exec]     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
 [exec]     at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
 [exec]     at sun.net.www.protocol.http.HttpURLConnection$6.run(HttpURLConnection.java:1674)
 [exec]     at sun.net.www.protocol.http.HttpURLConnection$6.run(HttpURLConnection.java:1672)
 [exec]     at java.security.AccessController.doPrivileged(Native Method)
 [exec]     at sun.net.www.protocol.http.HttpURLConnection.getChainedException(HttpURLConnection.java:1670)
 [exec]     at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1243)
 [exec]     at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:468)
 [exec]     at org.sonar.api.utils.HttpDownloader$BaseHttpDownloader$HttpInputSupplier.getInput(HttpDownloader.java:274)
 [exec]     at org.sonar.api.utils.HttpDownloader$BaseHttpDownloader$HttpInputSupplier.getInput(HttpDownloader.java:235)
 [exec]     at org.sonar.batch.bootstrap.ServerClient.request(ServerClient.java:88)
 [exec]     ... 94 more
 [exec] Caused by: java.net.SocketTimeoutException: Read timed out
 [exec]     at java.net.SocketInputStream.socketRead0(Native Method)
 [exec]     at java.net.SocketInputStream.read(SocketInputStream.java:150)
 [exec]     at java.net.SocketInputStream.read(SocketInputStream.java:121)
 [exec]     at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
 [exec]     at java.io.BufferedInputStream.read1(BufferedInputStream.java:275)
 [exec]     at java.io.BufferedInputStream.read(BufferedInputStream.java:334)
 [exec]     at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:633)
 [exec]     at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:579)
 [exec]     at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1322)
 [exec]     at sun.net.www.protocol.http.HttpURLConnection.getHeaderField(HttpURLConnection.java:2677)
 [exec]     at java.net.URLConnection.getContentEncoding(URLConnection.java:533)
 [exec]     at org.sonar.api.utils.HttpDownloader$BaseHttpDownloader$HttpInputSupplier.getInput(HttpDownloader.java:272)
 [exec]     ... 96 more
 [exec] 
 [exec] Total time: 23 seconds

我查看了声纳 access.log,可以看到初始连接和从上面列出的失败中重定向:

172.20.2.172 - - [01/01/2014:09:45:25 -0500]“GET /api/server/version HTTP/1.1”200 3“-”“Ant/2.1” 172.20.2.172 - - [01/01/2014:09:45:26 -0500]“GET /batch_bootstrap/index HTTP/1.1”302 125“-”“Ant/2.1” 172.20.2.172 - - [01/01/2014:09:45:26 -0500]“GET /deploy/bootstrap/index.txt HTTP/1.1”200 3899“-”“Ant/2.1”

有趣的是,我稍后查看了日志,它似乎显示在我启动构建后 30 分钟连接失败:

172.20.2.172 - - [01/01/2014:09:45:25 -0500]“GET /api/server/version HTTP/1.1”200 3“-”“Ant/2.1” 172.20.2.172 - - [01/01/2014:09:45:26 -0500]“GET /batch_bootstrap/index HTTP/1.1”302 125“-”“Ant/2.1” 172.20.2.172 - - [01/01/2014:09:45:26 -0500]“GET /deploy/bootstrap/index.txt HTTP/1.1”200 3899“-”“Ant/2.1” 172.20.2.172 - - [01/01/2014:10:16:20 -0500]“GET /batch_bootstrap/properties?dryRun=false HTTP/1.1”401 41“-”“声纳 空/空”

现在,我正在使用 LDAP 插件根据活动目录对声纳用户进行身份验证,我了解到这可能会导致速度变慢,甚至可能导致超时。我添加了 ncsd 但没有注意到任何改进。我还升级为使用 sonar-ant-task-2.1.jar 但没有看到变化。我可以从浏览器访问 /batch_bootstrap/properties?dryRun=false,尽管有时需要比其他人更长的时间。如果我重新运行失败的作业,第二次尝试几乎总是会成功。

我不知道接下来要尝试什么。我想扩大集群节点的数量,但恐怕这只会导致更多的失败。我不喜欢告诉开发人员忽略构建失败电子邮件。由于工作数量较多,我经常遇到这个问题。如果有人认为日志记录或配置更改有助于避免或隔离问题,我愿意尝试它们。

谢谢 - 萨姆

更新:我创建了一个简短的脚本来获取 /batch_bootstrap/properties?dryRun=false 并使用curl 将结果发送到 /dev/null 。我将 curl --max-time 设置为 2 秒,并将其放在 cron 上每 2 分钟运行一次。几乎每个请求都会在 2 秒超时之前完成(48 小时内只有 26 次失败,全部发生在 00:30 - 01:00 期间,当时我正在运行一些维护任务)。自从我开始以这种方式 ping 服务器以来,我没有再遇到过因 SocketTimeoutException 而导致构建失败的情况。我不太喜欢这个解决方案,但它目前似乎有效。如果有人可以尝试的话,我仍然对替代方案感兴趣。

更新:我能够降低 cron 的频率,改为每 5 分钟运行一次,而没有看到问题。当我尝试每 10 分钟运行一次时,我再次看到 SocketTimeoutException 失败。我还进行了一般性的 yum 更新以达到良好的效果,但这显然并没有改善情况。

谢谢 - 萨姆

更新:当 Elasticsearch 被分解为一个单独的进程时,Sonar 4.5 的情况变得越来越糟。在声纳日志文件中,我遇到了以下几个失败:

2014.12.24 03:42:28 ERROR web[o.s.s.s.SearchClient]  could not execute request: org.elasticsearch.action.get.GetRequestBuilder@48c9ec56
org.elasticsearch.client.transport.NoNodeAvailableException: No node available

我记录了一段时间内的负载,发现它在夜间构建周期中比我预期的要高。除了声纳故障之外,我仍然没有看到任何其他奇怪的行为。最近出现了一些新硬件,因此我将声纳单独移到了一个新盒子上。自从做了这一切之后,我就没有再看到任何与超时相关的构建失败。

因此,如果有人看到类似的错误,这种类型的错误似乎表明您需要投入更多资源。

谢谢 - 萨姆


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

声纳分析失败并出现 SocketTimeoutException 的相关文章

  • SonarQube:一天有多少小时的技术债务?

    如果 SonarQube 说我在某个项目中有 1 天的技术债务 那么这是否会转化为 24 小时的技术债务或 8 小时的技术债务 从几小时到几天的转换是可定制的 默认情况下为 8 小时 但您可以通过转至管理 gt 配置 gt 技术债务来找到您
  • Maven SonarQube 多模块

    我有一个由多个模块组成的项目 我正在尝试使用 SonarQube 来分析这些 我已将 Sonar Maven 插件作为依赖项包含在每个模块中
  • 为什么执行sonar:sonar时找不到sonar-maven-plugin-3.0.1.jar?

    我们目前正在将 重新激活 声纳纳入我们的持续构建过程中 但我们遇到了一些问题 为了只专注于声纳 我尝试让它在 HelloWorld 项目上工作 但仍然没有成功 repo1 和 repo2 中似乎缺少一个 jar sonar maven pl
  • 使用 SonarQube Web api 分析项目

    我使用 SonarQube Web api 创建了一个项目 现在我正在尝试分析该项目 我找到了这个 POST api project analyses create event 当我尝试这项服务时 我得到了这样的回复 errors msg
  • 使用 Cobertura 和 Jacoco 运行代码覆盖率

    我在获取 Maven 插件项目 使用调用程序插件进行集成测试 的 Sonar 中的集成测试和单元测试的代码覆盖率报告时遇到了一些问题 我无法使用默认的 Jacoco 覆盖率工具进行单元测试 因为这些工具使用 Powermock 这会导致使用
  • SonarQube 规则在启动时被禁用

    我最初在我的开发机器上设置了一个 Sonar 服务器 但后来在官方 Linux 机器上创建了一个服务器 目的是停止使用开发机器 在此过渡期间 我可能让两台服务器同时运行 指向同一个声纳数据库 现在我看到一些奇怪的行为 本地服务器运行良好 我
  • “没有关于每次测试覆盖范围的信息。”来自 Sonar 和 Jacoco Ant 构建

    我正在使用 Ant Jacoco 和 Sonar 当我运行构建时 声纳告诉我 没有有关每个测试覆盖范围的信息 声纳仪表板有我的覆盖结果 但我无法深入研究它们以查看代码 然而 Jacoco 生成的 HTML 报告确实包含深入到代码中的内容 这
  • sonarqube 6.6 升级:不可恢复的索引失败

    sonarqube 从 6 5 升级到 6 6 使用 Debian 软件包 后 sonar 无法启动 升级之前我没有更新插件 我只是让标准的 Debian 软件包升级 我正在使用外部数据库 Postgresql 我在 web log 中发现
  • 无法从 sonarqube 服务器更新数据

    当 sonarlint eclipse 要求我刷新我的 sonarqube 数据 更新所有项目绑定 时 我收到以下错误 Unable to update data from server cerbere Unable to move C w
  • 如何为 SonarQube 扫描配置 Jenkins 管道

    我正在尝试为我的项目配置詹金斯管道 但这里缺少一些东西 如果有人可以指出我做错了什么 下面是管道脚本 node stage SonarQube analysis requires SonarQube Scanner 2 8 def scan
  • 声纳+MS SQL数据库

    我正在尝试使用 mssql 服务器数据库初始化声纳 但我不能 使用 Microsoft SQL Server Management Studio 我创建了用户名 sonar 和密码 sonar 的用户 并向同时创建的 sonar 数据库授予
  • 如何从 SonarQube api 获取超过 500 个问题

    我在 java 工具中使用 SonarQube API 来处理问题并向其添加注释 更改问题状态 例如不会修复 api issues search 功能的页面大小限制为最多 500 个 我有超过 500 个问题 需要阅读此内容 我想过执行多个
  • 如何在 Java 中创建接受多个值的单个注释

    我有一个名为 Retention RetentionPolicy SOURCE Target ElementType METHOD public interface JIRA The Key Bug number JIRA referenc
  • SonarQube 4 - 如何在升级过程中保留误报违规

    我们使用 SonarQube UI 设置了很多误报违规 您能否建议如何在升级过程中保留这些误报违规行为 我们正在尝试将 Sonar 从 3 5 1 升级到 4 0 似乎那些误报违规行为已被删除 您可以做的一件事是导出误报列表 以便您至少知道
  • 使用 Lint 和 SonarQube 分析 Android 项目

    我真的 溢出 了试图让这些东西一起工作 我按照这里的指示进行操作 http docs sonarqube org display PLUG Android Lint Plugin http docs sonarqube org displa
  • SonarQube 分析模式:预览与问题

    这些之间的主要区别是什么preview and issuesSonarQube 大于 5 2 分析的模式 考虑到http docs sonarqube org display SONAR Concepts http docs sonarqu
  • SonarQube 将所有问题添加为 Code Smell

    升级到 5 5 版本后 现在最新的 5 6 SonarQube 总是将我通过插件创建的问题显示为 Code Smell 我想了解有关分类的更多信息以及如何将它们添加为其他类型 漏洞 和 错误 我创建问题的代码如下 Issuable issu
  • 多模块的 jacoco 配置不起作用

    我的 jacoco 配置发生了一些奇怪的事情 我无法弄清楚 我访问了堆栈溢出和其他平台上的多个线程并尝试了很多方法 但没有解决这个问题 我已经为多个模块设置了java代码覆盖率 这是我的项目结构 ABC module1 DEF module
  • sonar project.properties 忽略包含正则表达式的文件

    我试图排除声纳 project properties 文件中包含生成代码的文件 我已添加以下内容project properties sonar issue ignore allfile generated GeneratedCodeAtt
  • 是否可以从命令行告诉 Sonar 项目名称?

    我公司创建的每个项目都会在 Sonar 中使用新的命名约定 所以有些项目的名称是缩写的 有些项目的名称是驼峰式的 有些项目的名称只是带有空格的单词 如果我们能通过sonar runner a project name参数 那么这将让我们拥有

随机推荐

  • SSRS 导出到 Excel 隐藏/取消隐藏问题

    我有一份 SSRS 2008 报告 其中我必须隐藏一些列并导出到 Excel 导出到 Excel 后 要求规定这些列应该在 Excel 中取消隐藏 请建议一种方法来做到这一点 因为我听说这根本不可能 提前致谢 这是可以做到的 但我相信只有部
  • 使用 jQuery 在切换开关上旋转图像

    有问题的网站 http mtthwbsh com 我正在尝试创建一个可折叠的导航 在切换时 箭头指向上方 隐藏时指向下方 我一直在阅读有关使用 jQuery 旋转图像的内容 并发现这是我最好的资源 使用 jQuery 旋转图像 OnClic
  • 从Power BI导出百万行表克服了15万行的限制

    有没有办法克服 Power BI 导出 150k 行的最大限制 限制文档 https learn microsoft com en us power bi visuals power bi visualization export data
  • 使用 iOS NumberFormatter 将小数格式化为分数表示

    在 iOS 中 如何使用 NumberFormatter 将数字的小数部分格式化为其小数表示形式 例如我想格式化数字2 375 as 2 3 8 可以用 NumberFormatter 来完成吗 不 您需要实现您自己的 Rational F
  • 什么表明 Office Open XML 单元格包含日期/时间值?

    我正在使用以下命令读取 xlsx 文件Office 开放 XML SDK并且对读取日期 时间值感到困惑 我的一个电子表格有此标记 由 Excel 2010 生成
  • Capistrano 和 X-Sendfile

    我正在尝试让 X Sendfile 使用 capistrano 来处理我的繁重附件 我发现 X Sendfile 不适用于符号链接 我如何处理 Capistrano 符号链接的文件夹内的文件 我的网络服务器是apache2 passenge
  • 具有可选值的 Scala 案例类副本

    我想制作一个案例类的副本 并使用第二个案例类中的可选值对其进行更新 case class A id Int a String b String c String case class Update a Option String b Opt
  • 如何在WP8中使用AudioVideoCptureDevice录制视频

    Here它说我可以使用录制视频AudioVideoCaptureDevice但没有提供示例或帮助 我需要做以下事情 将视频录制到流中DONE 显示录制视频的缩略图 可以是视频录制时捕获的帧 DONE 回放录制的视频DONE 更改相机的分辨率
  • 通过gradle上传到artifactory时如何更改jar文件名

    我正在使用 gradle 来将 jar 上传到神器 我设法做到了 但是我试图更改 jar 文件名 但它并没有真正让我这么做 我使用的是shadowJar来打包 我就是这样做的 apply plugin java apply plugin m
  • 在 matlab 中搜索结构的平行行以查找常见项目

    我存储了 行 列 值 信息 key1 1 1 1 2 1 3 4 2 3 4 attribute1 2 3 4 2 5 如下 Structure A1 key row1 1 1 1 4 3 key col1 1 2 3 2 4 attrib
  • 如何在 Struts 2 中使用 标签?

    我有下面的 Struts 2 标签 我需要检查属性是否value attr row Commentaire不为空 如果不为空 则显示一个小图标 用户可以单击它并查阅属性的内容value attr row Commentaire 我怎样才能使
  • 允许多个 IP 通过 .htaccess 访问 WordPress 站点管理

    我目前有一个正在升级的 WordPress 网站 并且在 htaccess 文件中有一个维护重定向设置 我可以允许我自己的 IP 访问站点和管理员 但如何允许其他编辑者也可以访问多个 IP 访问 我目前正在使用 RewriteEngine
  • java GC 是怎么回事? PermGen 空间已满?

    我不知道我的 java 进程发生了什么 这个过程就是一个索引过程 它从一组 zip 文件中读取文档 并将它们添加到 lucene 索引中 GC日志显示只是连续运行Full GC 4959 569 Full GC 19960K gt 1996
  • 如何让进度条在浏览器导航时正常工作?

    我正在 C 上使用进度条和 Web 浏览器控件 但我不知道如何在导航时制作一个平滑的进度条 您是否能一步一步创建它 我将不胜感激 Use WebBrowser ProgressChanged Event private void WebBr
  • 从 JavaMail 消息中预取预览文本

    我正在使用 JavaMail 1 5 2 读取来自 IMAP 帐户的邮件 为了减少对主机的请求数量 我预取了一些消息数据 例如发件人 日期 消息 ID 等 Folder folder store getFolder inbox folder
  • 为什么有这么多方法来比较平等?

    如果我想比较两个值是否相等 有多种选择 例如 eq对于符号 对于数字 char equal对于角色 string equal对于字符串 eql用于符号 数字和字符串 equal对于除符号之外的所有内容 我希望到目前为止我做对了 现在 作为
  • IntelliSense 不适用于 MVC Razor cshtml 页面

    我遇到了 没有为扩展 cshtml 注册构建提供程序 我的一个使用 MVC 3 的项目出现错误 这使得自动完成功能不起作用 程序仍然运行 但是很烦人 我已经准备好 Web config 并包含所有必需的引用 事实上 我的其他具有相同配置的项
  • 如何从 NSArray 中删除具有相同值的重复对象

    我有一个NSDictinary看起来像这样 NSArray duplicates name a id 123 name c id 234 name a id 431 name c id 983 name a 038 如何删除同名的词典 例如
  • java.util.Arrays 不工作 java 8

    我最近更新为在计算机上使用 Java 8 进行 Eclipse 我之前一直在使用 Java 7 起初 更新似乎工作正常 因为我可以编译并运行一个简单的hello world 程序 然而 当我开始导入我之前正在处理的使用该类的项目时java
  • 声纳分析失败并出现 SocketTimeoutException

    当尝试从 ant 运行 Sonar 时 由于 SocketTimeoutException 我遇到了偶发故障 设置 我在 RHEL 6 机器上运行 Sonar 4 0 配置为与 Postgres 9 2 一起运行 我使用 Jenkins 1