【发布时间】:2014-02-18 18:22:12
【问题描述】:
尝试执行 ant 脚本时收到错误消息: 元素“sonar:sonar”的前缀“sonar”未绑定。
我知道我的 ant 设置正确,因为当我取出以下声纳部件时,它构建良好,并且声纳设置正确,因为我已经成功地使用 maven 分析项目。
在代码中添加了以下三个sn-ps:
**<!-- Define the Sonar properties -->
<property name="sonar.projectKey" value="org.codehaus.sonar:example-java-ant" />
<property name="sonar.projectName" value="Simple Java Project analyzed with the Sonar Ant Task" />
<property name="sonar.projectVersion" value="1.0" />
<property name="sonar.language" value="java" />
<property name="sonar.sources" value="${source.dir}" />
<property name="sonar.binaries" value="${libs.dir}" />
<property name="sonar.sourceEncoding" value="UTF-8" />
<!-- Add your basic Sonar configuration below: sonar.jdbc.url, sonar.jdbc.username, etc. properties -->
<property name="sonar.jdbc.url" value="jdbc:sqlserver://server;databaseName=Sonar;selectMethod=cursor;" />
<property name="sonar.jdbc.username" value="sonar" />
<property name="sonar.jdbc.password" value="sonarPass" />
然后我创建了一个新目标并将声纳添加到我的构建订单中。
<!-- ========= Define Sonar target ========= -->
<target name="sonar" depends="compile">
<taskdef uri="antlib:org.sonar.ant" resource="org/sonar/ant/antlib.xml">
<!-- Update the following line, or put the "sonar-ant-task-*.jar" file in your "$HOME/.ant/lib" folder -->
<classpath path="C:\sonarqube-4.1\lib\sonar-ant-task-2.1.jar" />
</taskdef>
<!-- Execute Sonar -->
<sonar:sonar />
</target>
错误发生在<sonar:sonar /> 行上,并且由于它在没有运行任何其他任务的情况下快速中断,我猜想问题出在预编译器查找库中。
我已将 sonar-ant-task-2.1.jar 放在尽可能多的地方,尝试通过环境变量添加到我的路径中,并尝试了几种不同的指定路径的方法。任何关于为什么 ant 没有使用图书馆或我如何进一步解决此问题的想法将不胜感激。
【问题讨论】: