无法为类型声纳

时间:2016-11-21 09:36:34

标签: sonarqube sonarqube-scan

我已经编写了ant build脚本来运行声纳。但是,在构建时遇到问题:

  

错误讯息:       建筑失败       C:\ sonar \ workspace \ Sample \ build.xml:12:问题:无法创建任务或键入声纳       原因:名称未定义。       行动:检查拼写。       操作:检查是否已声明任何自定义任务/类型。       操作:检查是否已发生任何/声明。

的build.xml:

<project name="SampleSonar" default="sonar" basedir=".">
    <target name="cleanclasses">
        <javac srcdir="src" destdir="bin/temp" classpath="" debug="on"/>
    </target>
    <target name="sonar" depends="cleanclasses">
          <!-- Add the Sonar task -->
        <taskdef uri="antlib:org.sonar.ant" resource="org/sonar/ant/antlib.xml">
            <classpath path="C:\apache-ant-1.7.1\lib\sonar-ant-task-2.2.jar" />
        </taskdef>
        <sonar>
            <property name="sonar.sources" value="src" />
            <property name="sonar.projectKey" value="Sample" />
            <property name="sonar.projectName" value="Sonarqube Sample Project" />
            <property name="sonar.projectVersion" value="1.0" />
            <property name="sonar.language" value="java" />
            <property name="sonar.sources" value="src" />
            <property name="sonar.sourceEncoding" value="UTF-8" />
            <property name="sonar.host.url" value="http://localhost:9000" />
            <property name="temp.dir" value="/src/temp" />
        </sonar>            
    </target>
</project>

我正在使用:

  

java:1.6

     声纳蚂蚁任务:2.2

     

sonarqube:4 ant:1.7.1

如何创建运行声纳的ant任务?

2 个答案:

答案 0 :(得分:1)

根据documentation,任务为<sonar:sonar>,但不是<sonar>

答案 1 :(得分:1)

您的脚本中有两个错误可以通过以下方式解决:

  • 为声纳任务添加名称空间(例如“ sonarns”或仅仅是“ sonar”)
  • 在声纳任务标签之外定义蚂蚁属性

您的声纳目标应如下所示:

<target name="sonar" depends="cleanclasses">
      <!-- Add the Sonar task -->
    <taskdef uri="antlib:org.sonar.ant" resource="org/sonar/ant/antlib.xml">
        <classpath path="C:\apache-ant-1.7.1\lib\sonar-ant-task-2.2.jar" />
    </taskdef>
    <property name="sonar.sources" value="src" />
    <property name="sonar.projectKey" value="Sample" />
    ...
    <sonarns:sonar xmlns:sonarns="antlib:org.sonar.ant" />
</target>