프로젝트의 모듈 로더를 작성하기 위해 Java의 반사 작업을 시도하고 있지만 getMethod() 메소드는 메소드가 명확한 경우에도 존재하는 메소드를 찾지 못하는 것 같습니다. 한정된. Module.class 파일에서 Java getMethod() 메소드를 찾을 수 없습니다.
는 :public final void load(org.clustermc.core.ClusterCore plugin);
나는 그것이 클래스 내에서 발견 된 방법을 인쇄 할 핵심 요구했다. 결과 :
Methods: [public void me.capit.clustersample.SampleModule.onLoad(), public void me.capit.clusterSample.SampleModule.onUnload(), public final void org.clustermc.core.Module.load(org.clustermc.core.ClusterCore), /*Other stuff from Object*/];
SampleModule은 Module을 확장합니다. 핵심에서
이상 :
Method enable = c.getMethod("onLoad"); Method init = c.getMethod("load", org.clustermc.core.ClusterCore.class);
가에 onLoad에 대한 변수를 '수'는() 잘 작동하지만은 (ClusterCore.class를) 부하를 찾으려고 노력에, 나는 경우는, NoSuchMethodException를 얻을. 왜...?
- :
호출하기 전에이 줄을 실행해야합니다. 그렇지 않으면'ClusterCore.class'가'ClusterCore' 매개 변수 유형과 다른 런타임 클래스를 참조한다는 문제점을 겪을 수 있습니다. – Holger