Skip to content

component依赖文件生成插件异常 #18

@duguyixiaono1

Description

@duguyixiaono1

版本:framework-bom 4.0.0
注解:@ Named、@ Inject
方法:AbstractResourceConfigurator:A(Class clazz)

异常:
image

单测例子:
``
public class ComponentsConfiguratorTest {

@Test
public void testA() {
    TestComponentsConfigurator testComponentsConfigurator = new TestComponentsConfigurator();
    List<Component> components = testComponentsConfigurator.defineComponents();

    String content = Configurators.forPlexus().generateXmlConfiguration(testComponentsConfigurator, components);
    System.out.println(content);
}

class TestComponentsConfigurator extends AbstractJdbcResourceConfigurator {
    @Override
    public List<Component> defineComponents() {
        List<Component> components = new ArrayList<>();

        // method1
        components.add(A(TestComponent.class));

        // method2
        // components.add(A(TestImpl.class));
        // components.add(C(TestComponent.class).req(TestImpl.class));

        return components;
    }
}

interface ITest<T> {
    void test(T t);
}

@Named(type = ITest.class, value = "test")
class TestImpl implements ITest<List<String>> {
    @Override
    public void test(List<String> strings) {

    }
}

@Named
class TestComponent {

    @Inject("test")
    private ITest<List<String>> t;
}

}
``

原因:
image
image
@ Inject修饰的范型类型为范型时,会抛这个异常

解决方式:
通过单测例子注释中的method2可以绕过去

疑惑:
但是,在foudation-service 2.7.6版本中,上述单测是没问题的,这种升级导致的异常,属于正常feature吗?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions