Сонар и плагин Flex - доллары ($) не принимаются в именах классов Java - PullRequest
1 голос
/ 17 января 2012

В связи с этой ошибкой от сонара: http://jira.codehaus.org/browse/SONAR-1865

и этой (которая перекрестно ссылается на приведенную выше): http://jira.codehaus.org/browse/SONAR-1637

Я все еще вижу эту проблему.

Я использую сервер Sonar версии 2.12.Я использую Hudson, версия 2.2.0.Я установил плагин Sonar в Гудзоне, версия 1.7.2.

и, самое главное, у меня установлен плагин Flex на сервере Sonar.Версия плагина Flex - 0.4.

Когда я запускаю mvn sonar:sonar -Pflex в проекте flex, я получаю эту ошибку в трассировке стека:

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.Он был автоматически сгенерирован из java в Actionscript с использованием GraniteDS.

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.И почему ошибка показывает «java внутренние классы ...», когда это класс flex / actionscript?Кто-нибудь все еще видит это поведение ошибки?

1 Ответ

1 голос
/ 18 января 2012

Проблема была создана на стороне плагина Sonar Flex (http://jira.codehaus.org/browse/SONARPLUGINS-1623) и, скорее всего, будет исправлена ​​в следующем выпуске.

...