특정 종속성을 사용하지 않거나 사용하지 않는 Object의 선언 된 필드를 가져 오는 데 문제가 있습니다.종속 항목이없는 클래스의 Java getDeclaredFields
Field[] fields = OBJECT.getClass().getDeclaredFields();
NoClassDefFoundError
은 해당 개체가 누락 된 클래스를 가져올 때 throw됩니다.
내가하고 싶은 이유는 Bukkit 플러그인 때문입니다. 종속성이없는 플러그인 인스턴스의 필드를 가져 오려고합니다. 플러그인 인스턴스는 사용되지 않지만 플러그인이 시작할 수 있습니다.
런타임에 플러그인은 필요한 종속성이 있는지 여부와 해당 특정 필드를로드 할 것인지 여부에 따라 검사합니다.
가능한 해결책 :
1) 실종 된 클래스 + 패키지를 실제로 생성하고 ASM을 사용하여 다시 시도하십시오. 그러나 나는 이것을 어떻게하는지 정말로 모른다.
감사합니다,
맥심
이 플러그인을 작성한다고 가정하면 중복 된 가져 오기를 제거하지 않는 이유는 무엇입니까? – JamesB
필드를 가져 오려는 플러그인을 쓰고 있지 않으므로 수정할 수 없습니다. – Maximvdw
bump(); // 답변이있는 사람은 누구입니까? – Maximvdw