2012-04-12 11 views
3

ソナーでPHPプロジェクトを分析したいと思います。 PHP-PluginとPHPunitをインストールし、必要なすべての情報が入ったsonar-project.propertiesファイルを作成しました。私は実行のためにJavaランナーを使用します。私は私の問題のために何百もの可能な解決策を試みたが、何も働かない。私はいつもこのエラーが出る:PHPプロジェクトをソナーで解析する際の問題

Exception in thread "main" org.sonar.batch.bootstrapper.BootstrapException: org.sonar.api.utils.SonarException: Can't read PhpUnit report : /var/www/smc/.sonar/target/logs/phpunit.xml 
     at org.sonar.runner.Runner.delegateExecution(Runner.java:189) 
     at org.sonar.runner.Runner.execute(Runner.java:78) 
     at org.sonar.runner.Main.main(Main.java:61) 
Caused by: org.sonar.api.utils.SonarException: Can't read PhpUnit report : /var/www/smc/.sonar/target/logs/phpunit.xml 
     at org.sonar.plugins.php.phpunit.PhpUnitResultParser.getTestSuites(PhpUnitResultParser.java:103) 
     at org.sonar.plugins.php.phpunit.PhpUnitResultParser.parseFile(PhpUnitResultParser.java:158) 
     at org.sonar.plugins.php.phpunit.PhpUnitResultParser.parse(PhpUnitResultParser.java:145) 
     at org.sonar.plugins.php.phpunit.PhpUnitSensor.analyse(PhpUnitSensor.java:72) 
     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:115) 
     at org.sonar.batch.bootstrap.BatchModule.doStart(BatchModule.java:105) 
     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:104) 
     at org.sonar.runner.Launcher.executeBatch(Launcher.java:65) 
     at org.sonar.runner.Launcher.execute(Launcher.java:58) 
     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.sonar.runner.Runner.delegateExecution(Runner.java:186) 
     ... 2 more 
Caused by: java.io.FileNotFoundException: /var/www/smc/.sonar/target/logs/phpunit.xml (No such file or directory) 
     at java.io.FileInputStream.open(Native Method) 
     at java.io.FileInputStream.<init>(FileInputStream.java:120) 
     at org.sonar.plugins.php.phpunit.PhpUnitResultParser.getTestSuites(PhpUnitResultParser.java:98) 
     ... 22 more 

これは私のプロパティファイルです:

# required metadata 
sonar.projectKey=my:project 
sonar.projectName=Social Media Connector 
sonar.projectVersion=1.0 

# path to source directories (required) 
sources=htdocs/website/controllers 

# path to test source directories (optional) 
#tests=htdocs/website/controllers/tests 
#sonar.phpUnit.mainTestClass=htdocs/website/controllers/tests/website/controllers/blubbTest.php 

# path to project binaries (optional), for example directory of Java bytecode 
#binaries=binDir 

# optional comma-separated list of paths to libraries. Only path to JAR file and path to directory of classes are supported. 
#libraries=path/to/library.jar,path/to/classes/dir 


# Uncomment those lines if some features of java 5 or java 6 like annotations, enum, ... 
# are used in the source code to be analyzed 
#sonar.java.source=1.5 
#sonar.java.target=1.5 


# Uncomment this line to analyses a project which is not a java project. 
# The value of the property must be the key of the language. 
sonar.language=php 

# Advanced parameters 
#my.property=value 
#sonar.phpUnit.skip=true 
sonar.phpUnit.analyze.test.directory=true 

任意のアイデア?

+0

奇妙な。 /var/www/smc/.sonar/target/logs/が書き込めるかどうか確認しましたか? –

+0

はい、.sonarとそのすべてのサブフォルダを777に設定しようとしましたが、成功しませんでした。 –

答えて

2

元のエラーはここにある:

Caused by: java.io.FileNotFoundException: /var/www/smc/.sonar/target/logs/phpunit.xml (No such file or directory)

はファイル/var/www/smc/.sonar/target/logs/phpunit.xmlが発見されていることを確認してください。

+0

お返事ありがとうございます!私はソナーが私のためにそのようなファイルを作成すると思った。私はそれを自分で作成しなければなりませんか?それに関する情報はどこにありますか?このファイルはどのように見えるのですか?私は以前NetBEanの中からphpunitを使用していました。 –

+0

誰がそのファイルを作成しなければならないのかは分かりませんが、その時点でソナーの処理がそのファイルをそこに置くことを期待している時点ではありません。それはログだから、他のいくつかのプロセスが実行するように設定されていないことが予想されます。実際にログを作成できるように、phpunitテストを実行していますか? – hakre

+0

申し訳ありませんが、私はあなたが何を意味しているか正確に理解していません。 .sonar/target/logsフォルダにいくつかのphpunitxxx.xmlファイルが存在することが分かりました。 phpunit1571319273603713442.xml。しかし、そこに興味深いものはありません。また、codesniffer.xml、pdepend.xml pmd.xmlファイルもあります。これは役に立ちますか? –