php - Sonar 专家构建正在下降

标签 php maven utf-8 sonarqube

当我尝试在项目根目录中运行 mvn sonar:sonar -e 时,构建出现错误:

[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Can not execute Sonar

Embedded error: Unable to read and import the source file : '/www/hudson/proj_beta/source/bin/report.php' with the charset : 'UTF-8'.
org.sonar.api.resources.File@10ade81[key=bin/report.php,dir=bin,filename=report.php,language=PHP]
[INFO] ------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: Can not execute Sonar
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:719)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:569)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:539)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:284)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
        at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
        at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
        at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
        at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.plugin.MojoExecutionException: Can not execute Sonar
        at org.codehaus.mojo.sonar.Bootstraper.executeMojo(Bootstraper.java:103)
        at org.codehaus.mojo.sonar.Bootstraper.start(Bootstraper.java:79)
        at org.codehaus.mojo.sonar.SonarMojo.execute(SonarMojo.java:88)
        at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
        ... 17 more
Caused by: org.sonar.api.utils.SonarException: Unable to read and import the source file : '/www/hudson/c2c_beta/source/bin/report.php' with the charset : 'UTF-8'.
        at org.sonar.api.batch.AbstractSourceImporter.parseDirs(AbstractSourceImporter.java:84)
        at org.sonar.api.batch.AbstractSourceImporter.analyse(AbstractSourceImporter.java:69)
        at org.sonar.api.batch.AbstractSourceImporter.analyse(AbstractSourceImporter.java:60)
        at org.sonar.batch.phases.SensorsExecutor.execute(SensorsExecutor.java:64)
        at org.sonar.batch.phases.Phases.execute(Phases.java:93)
        at org.sonar.batch.bootstrap.ProjectModule.doStart(ProjectModule.java:143)
        at org.sonar.batch.bootstrap.Module.start(Module.java:83)
        at org.sonar.batch.bootstrap.BatchModule.analyze(BatchModule.java:111)
        at org.sonar.batch.bootstrap.BatchModule.doStart(BatchModule.java:101)
        at org.sonar.batch.bootstrap.Module.start(Module.java:83)
        at org.sonar.batch.bootstrap.BootstrapModule.doStart(BootstrapModule.java:102)
        at org.sonar.batch.bootstrap.Module.start(Module.java:83)
        at org.sonar.batch.Batch.execute(Batch.java:100)
        at org.sonar.maven.SonarMojo.executeBatch(SonarMojo.java:152)
        at org.sonar.maven.SonarMojo.execute(SonarMojo.java:142)
        at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
        at org.codehaus.mojo.sonar.Bootstraper.executeMojo(Bootstraper.java:98)
        ... 21 more
Caused by: org.sonar.api.resources.DuplicatedSourceException: org.sonar.api.resources.File@10ade81[key=bin/report.php,dir=bin,filename=report.php,language=PHP]
        at org.sonar.batch.index.SourcePersister.saveSource(SourcePersister.java:45)
        at org.sonar.batch.index.DefaultPersistenceManager.setSource(DefaultPersistenceManager.java:78)
        at org.sonar.batch.index.DefaultIndex.setSource(DefaultIndex.java:402)
        at org.sonar.batch.DefaultSensorContext.saveSource(DefaultSensorContext.java:159)
        at org.sonar.api.batch.AbstractSourceImporter.parseDirs(AbstractSourceImporter.java:81)
        ... 37 more
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2 minutes 23 seconds
[INFO] Finished at: Wed Feb 08 14:50:49 EET 2012
[INFO] Final Memory: 16M/42M
[INFO] ------------------------------------------------------------------------

在将单元测试添加到源目录后,它开始下降。 谷歌搜索没有给出任何线索。

该文件采用 utf-8 格式: report.php:文本/纯文本;字符集=utf-8

有什么建议吗?

最佳答案

看起来像 open issue使用 Sonar 时,由于源文件夹和测试文件夹中的 php 文件名相同而导致。 java as well 存在此问题。根据this ,这应该在下一个版本中修复。

可能的解决方法:

  • 如果遇到此问题,可以尝试重命名(如果可能) 导致分析失败的测试文件

关于php - Sonar 专家构建正在下降,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9196079/

相关文章:

javascript - 注册表未正确处理到数据库(PHP/MySQL)

javascript - 如何在 jquery 的 html 中添加变量

Maven+Selenium+Jetty - Jetty 关闭时出现 ClassNotFoundException

mysql - 哪个 mysql utf8 排序规则用于来自 latin1 的数据

php - 相当于 PHP 的 'implode'

php - 如何在不嵌入的情况下使用 TCPDF 在 PDF 中使用 Arial

java - 包 org.springframework.web.bind.annotation 不存在,即使它是在 POM 中定义的

java - 使用 Maven 和 Jenkins 进行 Karate Api 测试

mysql - 如何在 Ruby on Rails 和 MySQL 中使用特定于列的字符编码?

添加时Django admin UnicodeDecodeError