今天在执行在sonar代码检查的时候报出来这么一个错:
[INFO]------------------------------------------------------------------------
Please provide compiled classes of yourproject with sonar.java.binaries property
大致意思是说:请提供一个编译类的项目。
然后在网上搜索相关问题,大多都是把这个项目配置在了sonar-project.properties 文件中。因为本人比较懒,把sonar的相关配置都配在setting.xml文件中。想直接使用 mvn 命令直接运行代码检查,所以就不想维护sonar-project.properties 文件。
最终在网上找到的解决方案:直接在执行 mvn sonar:sonar 命令时候指定sonar.java.binaries 项目的文件夹。
在mvn 命令后面追加参数,命令如下:
mvn sonar:sonar -Dsonar.java.binaries=target/classes
mvn sonar:sonar是运行代码检查的命令就不多说了,-D 和sonar.java.binaries 之间不能有空格,等号后面的路径就是指定的文件目录了。
但是我直接这样运行还是报错了,原因是项目运行之后只会自动生成target/sonar这个目录。并不会自动创建target/classes 目录,所以还是会报错。 脑壳子疼,最选了一个投机的办法,
直接把sonar.java.binaries指向项目自动生成的target/sonar目录。
最终命令如下,问题解决。
mvn sonar:sonar -Dsonar.java.binaries=target/sonar