【问题标题】:Unable to start the SonarQube after adding a custom plugin添加自定义插件后无法启动 SonarQube
【发布时间】:2017-04-22 12:53:37
【问题描述】:

为 Gosu 语言的 SonarQube 6.1 添加了一个自定义插件。 构建是使用 ANT 构建工具完成的。 但是得到异常

2016.12.07 19:42:36 错误 web[][o.a.c.c.C.[.[.[/]] 向类的侦听器实例发送上下文初始化事件的异常
org.sonar.server.platform.web.PlatformServletContextListener java.lang.ClassCastException: org.sonarsource.plugins.gscan.GosuPlugin 无法转换为 org.sonar.api.Plugin

编译文件如下

<?xml version="1.0"?>
<project name="Gscan" default="buildJar">
    <property file="build.properties"/> 
    <property name="gscan.dir" value="${gscan.source}"/>  
    <property name="jar.name" value="sonar-gosu-plugin"/>
    <property name="lib.dir" value="${lib}"/>

    <path id="project.classpath">
    <fileset dir="${lib.dir}">
        <include name="**/*.jar" />
    </fileset>
    <pathelement path="${build.dir}"/>
    </path>

    <target name="clean">
        <delete dir="${build.dir}"/>            
        <delete dir="src" />
        <delete dir="${target.folder}\SonarPlugin" />
        <mkdir dir="${build.dir}"/>
        <mkdir dir="src"/>
        <mkdir dir="${target.folder}\SonarPlugin"/>
    </target>

    <target name="compile" depends="clean" description="compile the source">
    <javac classpathref="project.classpath" srcdir="${gscan.source}" destdir="${build.dir}" includeantruntime="false" debug="on">
    </javac>
     <copy file="${rules.from}/gscan-rules.xml" todir="${rules.to}"/>
     <copy file="${rules.from}/gscan_widget.html.erb" todir="${rules.to}"/>
     <copy file="${properties.from}/gscan.properties" todir="${properties.to}"/>
     <copy file="${properties.from}/gscan_fr.properties" todir="${properties.to}"/>
      <copy todir="${build.dir}/META-INF">
                <fileset dir="${gscan.source}/META-INF"/>
          </copy>
     <!--copy file="${gscan.source}/jsr305-1.3.9.jar" todir="${build.dir}"/-->
    </target>

    <target name="getSource" depends="clean">

          <copy todir="src">
                <fileset dir="${build.dir}"/>
          </copy>           
    </target>
    <target name="buildJar" depends="compile,getSource">
        <jar basedir="src" destfile="${target.folder}\SonarPlugin\${jar.name}.jar">
        <manifest>
        <attribute name="Plugin-Dependencies" value="META-INF/lib/commons-lang-2.6.jar" />

        <attribute name="Plugin-Description" value="Analysis GOSU with CCAP Gosu plug-in " />

        <attribute name="Plugin-BuildDate" value="2016-12-07T12:45:26+0530" />

        <attribute name="Archiver-Version" value="Plexus Archiver" />

        <attribute name="Built-By" value="479848" />
        <attribute name="Plugin-Homepage" value="http://www.sonarqube.org/sonar-gosu-plugin/" />

        <attribute name="Plugin-License" value="GNU LGPL 3" />
        <attribute name="Plugin-Version" value="2.0" />

        <attribute name="Plugin-Organization" value="SonarSource" />
        <attribute name="Sonar-Version" value="6.1" />

        <attribute name="Plugin-IssueTrackerUrl" value="http://www.sonarqube.org/browse/SONAR" />
        <attribute name="Plugin-ChildFirstClassLoader" value="true" />

        <attribute name="Plugin-TermsConditionsUrl" value="" />
        <attribute name="Implementation-Build" value="0" />

        <attribute name="Plugin-OrganizationUrl" value="http://www.sonarqube.org" />
        <attribute name="Build-Time" value="2016-12-07T12:44:29+0530" />

        <attribute name="Plugin-Key" value="gosu" />
        <attribute name="Plugin-Class" value="org.sonarsource.plugins.gscan.GosuPlugin" />

        <attribute name="Build-Jdk" value="1.8.0_92" />
        <attribute name="Plugin-Name" value="sonar-gosu-plugin-2.0" />
        </manifest>
    </jar>
    </target>

</project>

【问题讨论】:

标签: java ant build sonarqube sonarqube5.1


【解决方案1】:

此问题是由于标签中提供的详细信息不正确造成的。根据新的清单详细信息重新配置项目。有关清单详细信息,请检查 maven build 生成的 .MF 文件。

【讨论】:

    猜你喜欢
    • 2017-02-24
    • 1970-01-01
    • 2014-09-27
    • 1970-01-01
    • 2015-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-02
    相关资源
    最近更新 更多