我是java的新手所以如果答案很明显,请原谅。我的任务是将java项目转换为Maven,我遇到了以下编译错误。
没有为EtHttpException找到合适的构造函数(java.lang.String,java.lang.String)
FWIW在多个其他类中发生同样的错误
基类
public class EtHttpException extends Exception {
private java.lang.String currentURL = null;
private java.lang.String status = null;
private java.lang.String request = null;
/**
EtHttpException constructor comment.
*/
public EtHttpException(String status, String newCurrentURL,Exception e) {
super(status);
currentURL = newCurrentURL;
}
public EtHttpException(String status, String newCurrentURL, String newRequest,Exception e) {
super(status);
currentURL = newCurrentURL;
request = newRequest;
}
public java.lang.String getCurrentURL() {
return currentURL;
}
public java.lang.String getRequest() {
return request;
}
}
此处出现错误
public class EtHttpsConnection {
private String sendRequest(String requestMessage, String currentURL)
throws EtHttpException {
String responseMessage = null;
int size = 0;
int offset = 0;
int length = 400;
byte[] buffer = new byte[4096];
try {
setRequest(requestMessage);
responseMessage=connect(currentURL);
trace(currentURL);
trace(requestMessage);
String postRequestMessage =
transformMessageToPostFormat(requestMessage, currentURL);
trace(postRequestMessage);
} catch (Exception e) {
e.printStackTrace();
String msg = e.toString();
disconnect();
throw new EtHttpException(msg, currentURL);
}
// return response
return responseMessage;
}
发生其他地方错误
没有为EtHttpException找到合适的构造函数(java.lang.String,< nulltype>)
public class NoCurrentURLException extends EtHttpException {
public NoCurrentURLException() {
super("No current URL was retrieved from URLList", null);
}
}
我很确定有一个地方我可以做出改变以解决这些错误,有人可以提供任何见解吗?
答案 0 :(得分:1)
找不到合适的构造函数 EtHttpException(java.lang.String中,java.lang.String中)
错误消息告诉您没有EtHttpException的构造函数,它需要两个字符串。如果你看看EtHttpException,你会看到两个构造函数:一个需要两个字符串和一个异常;另一个需要三个字符串和一个例外。
您正在尝试使用两个字符串 - 没有与此签名匹配的构造函数。
要解决此问题,请将EtHttpsConnection
课程中引发异常的位置更改为:
throw new EtHttpException(msg, currentURL, e);
然后更改NoCurrentURLException
类的构造函数以使用类似这样的内容:
super("No current URL was retrieved from URLList", null, null);