Java log4j.Logger与JDK 1.8的logging.Logger不兼容
我的项目是用JDK1.5编译的。我使用一个接口Java log4j.Logger与JDK 1.8的logging.Logger不兼容,java,logging,java-8,log4j,Java,Logging,Java 8,Log4j,我的项目是用JDK1.5编译的。我使用一个接口java.sql.Driver,它实现了一个方法getParentLogger: import java.util.logging.Logger; ... public interface Driver { ... public Logger getParentLogger() throws SQLFeatureNotSupportedException; } 我的类MockDriver实现此接口: import org.apache.lo
java.sql.Driver
,它实现了一个方法getParentLogger
:
import java.util.logging.Logger;
...
public interface Driver {
...
public Logger getParentLogger() throws SQLFeatureNotSupportedException;
}
我的类MockDriver
实现此接口:
import org.apache.log4j.Logger;
...
class MockDriver implements Driver {
...
public Logger getParentLogger() {
return LOGGER;
}
}
就像这样,当我编译时它对我有效
但在我的项目中使用JDK 1.8时,我有一个错误:
error: MockDriver is not abstract and does not override abstract method
getParentLogger() in Driver
error: getParentLogger() in MockDriver cannot implement getParentLogger() in
Driver
return type org.apache.log4j.Logger is not compatible with
java.util.logging.Logger
有什么想法吗?用另一个logger@Stultuske但就像那样,它与JDK1.5一起工作!我现在不想更改它,显然java.sql.Driver接口在1.5和1.8Java版本之间进行了更改。有什么原因,为什么你不使用Mockito这样的框架来模拟对象?@Michal我开始这个项目工作了两天,我真的不知道。也许它已经存在,开发团队正在使用它。@youssef,所以不要升级到Java 1.8