1
我已經搜索了很長時間,但我還沒有找到答案。 以下問題是:我想將外部信息傳遞給我的聲納亞軍,例如配置文件。用Sonar-Runner注入外部參數
我的第一個問題是要知道是否有可能做到這一點?
例如,我要建立一個項目,我想在外部參數來傳遞數據的基礎憑據:
# Required metadata
sonar.projectKey=javascript_spine
sonar.projectName=Simple Spine js
sonar.projectVersion=1.1
# For example database parameters
sonar.dbUserName = "..."
sonar.dbPassword = "xxxx"
sonar.hostName = "ip"
這就是我如何得到我的插件參數:
@Properties(@Property(key = "my.property", name = "My property", defaultValue = "20"))
public class MyJavaRulesPlugin extends SonarPlugin {
private PrintWriter ecri;
public MyJavaRulesPlugin(Settings settings) {
if(settings != null) {
String value = settings.getString("my.property"); // default value is 20
System.out.println("La valeur de value est :" + value);
// Ecrire dans un fichier texte sur le Desktop
try {
ecri = new PrintWriter(new FileWriter("/home/michael/test.txt"));
ecri.print("La valeur de value est :" + value);
ecri.flush();
ecri.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
感謝西蒙,但我有(由SonarPlugin#getExtensions()返回)仍然是一個問題。我創建了包含我的屬性值的插件.jar,但是當我使用sonar-runner運行一個java項目時,我得到了這個堆棧錯誤:「錯誤:由:org.sonar.api.resources.Project.getProperty( Ljava /郎/字符串;)Ljava /郎/對象;」 – MickKOZA74