我在这个类上运行maven编译时遇到错误但是在执行时似乎工作得很好.我在同一主题上看了很多其他帖子,但却无法为自己工作.
编辑 – 删除原始代码片段并替换
编辑 – 提供MCVE – 非常简单
顺便说一下,这是在Java 6上运行的
public class MainTester {
@SuppressWarnings("rawtypes")
public static void main(String[] args) {
ProtocolHandler mappingProtocolHandler = new MappingProtocolHandler();
Map> protocols = mappingProtocolHandler.getProtocols();
System.out.println(protocols);
}
}
ProtocolHandler和Child类:
public abstract class ProtocolHandler> {
public Map> getProtocols() {
return getProtocolsForRequest();
}
protected abstract Map> getProtocolsForRequest();
}
@SuppressWarnings("rawtypes")
public class MappingProtocolHandler extends ProtocolHandler{
@Override
protected Map> getProtocolsForRequest() {
return new HashMap>();
}
}
规则类:
public interface Rule {
public void execute(F object, T object2);
}
public abstract class BaseRule implements Rule, Comparable> {
}
public abstract class MappingRule extends BaseRule implements CustomAttributes{
}
public abstract class InputRule extends MappingRule> {
}
public abstract class OutputRule extends MappingRule, Object> {
}
public interface CustomAttributes {
}
处理程序类:
public abstract class ProtocolHandler> {
public Map> getProtocols() {
return getProtocolsForRequest();
}
protected abstract Map> getProtocolsForRequest();
}
@SuppressWarnings("rawtypes")
public class MappingProtocolHandler extends ProtocolHandler{
@Override
protected Map> getProtocolsForRequest() {
return new HashMap>();
}
}
[ERROR] Failed to execute goal
org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile
(default-compile) on project Test: Compilation failure: Compilation
failure:
[ERROR]…\src\main\java\common\main\MainTester.java:[14,18]
type parameter common.mapping.rule.MappingRule is not within its bound
[ERROR]…\src\main\java\common\handler\MappingProtocolHandler.java:[10,60]
type parameter common.mapping.rule.MappingRule is not within its bound