ソナーからのこのバグに関連して:http: //jira.codehaus.org/browse/SONAR-1865
そしてこれ(上記のものを相互参照します):http: //jira.codehaus.org/browse/SONAR-1637
私はまだこの問題を見ています。
Sonarサーバーバージョン2.12を使用しています。
Hudsonバージョン2.2.0を使用しています。
SonarプラグインをHudsonバージョン1.7.2にインストールしました。
そして、最も重要なのは、SonarサーバーにFlexプラグインがインストールされていることです。Flexプラグインのバージョンは0.4です。
mvn sonar:sonar -Pflex
フレックスプロジェクトで実行すると、スタックトレースで次のエラーが発生します。
Caused by: java.lang.IllegalArgumentException: Java inner classes are not supported : EntityEnums$ReportParameterName
at org.sonar.plugins.flex.FlexFile.<init>(FlexFile.java:79)
at org.sonar.plugins.flex.FlexFile.fromIOFile(FlexFile.java:165)
at org.sonar.plugins.flex.FlexSourceImporter.createResource(FlexSourceImporter.java:37)
at org.sonar.api.batch.AbstractSourceImporter.parseDirs(AbstractSourceImporter.java:75)
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)
これが私のクラスがどのように見えるか、それが不平を言っていることです:
これはActionscriptクラス、ファイル名です: EntityEnums$ReportParameterName.as
。GraniteDSを使用してJavaからActionscriptに自動生成されました。
package com.digabit.core.db.entity.util {
[Bindable]
public class EntityEnums$ReportParameterName {
public static const tnid:String = "tnid";
public static const uname:String = "uname";
public static const lc:String = "lc";
public static const tnkey:String = "tnkey";
public static const oid:String = "oid";
public function EntityEnums$ReportParameterName()
{
super();
}
}
}
したがって、バグレポートによると、これは私が持っている以前のバージョンのSonarで修正されています。しかし、バージョン2.12ではまだ表示されています。また、これがflex / actionscriptクラスである場合、エラーに「java内部クラス...」と表示されるのはなぜですか?誰かがまだこのバグの振る舞いを見ていますか?