我使用声纳客户端API,以显示代码以个性化版本的气味。但我得到上述错误,而这样做?之前我曾经得到的输出。
public class ab{
public static void main(String args[]) {
try {
String url = "http://127.0.0.1:9001";
String login = "admin";
String password = "admin";
SonarClient client = SonarClient.builder()
.url(url)
.login(login)
.password(password)
.build();
IssueQuery query = IssueQuery.create();
query.rules("Major","Minor","Critical");
IssueClient issueClient = client.issueClient();
Issues issues = issueClient.find(query);
List<Issue> issueList = issues.list();
for (int i = 0; i < issueList.size(); i++) {
System.out.println(issueList.get(i).projectKey() + " " +
issueList.get(i).componentKey() + " " +
issueList.get(i).line() + " " +
issueList.get(i).ruleKey() + " " +
issueList.get(i).severity() + " " +
issueList.get(i).message());
}
} catch (Exception ex) {
System.out.println(ex);
}
}
当您尝试访问的资源需要代理身份验证Http Error 407
被抛出。但是,正如你所访问过127.0.0.1的服务,这表明它是您的本地系统,你不应该得到407
错误。尝试添加条目到您的主机文件(在YOUR_WINDOWS_FOLDER \ SYSTEM32 \ drivers \ etc中)为
127.0.0.1 localhost
或者,您有试过访问过的网址如下localhost
?
最后,如果sonarqube是一个单独的服务器上托管,你可以调用服务之前设置的代理认证如下而已。
import java.net.Authenticator;
import java.net.InetSocketAddress;
import java.net.PasswordAuthentication;
import java.net.Proxy;
.
.
Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("PROXY_SERVER", 80));
Authenticator authenticator = new Authenticator() {
public PasswordAuthentication getPasswordAuthentication() {
return (new PasswordAuthentication("PROXY_USERNAME", "PROXY_PASSWORD".toCharArray()));
}
};
Authenticator.setDefault(authenticator);