현재 사용자는 소프트웨어를 직접 수정하는 대신 플러그인을 프로그래밍하고 프로그래밍 지식이없는 다른 사용자가 쉽게 변경할 수 있도록 내 소프트웨어를 확장 할 수있는 서버 소프트웨어 용 API를 개발 중입니다. 이러한 플러그인을 추가하여 소프트웨어. 지금까지 모든 것이 잘 작동합니다. 그러나 구성에 문제가 있습니다. 주 : 당신이 볼jar 클래스를 얻는 방법
각 플러그인은 plugin.yml이 4 개 개의 속성으로 저장 파일이 메인 클래스가 여기 이름 저장 :이 플러그인 이름이 버전을 저장 위치 :이 어디 플러그인 버전입니다 저장 됨 작성자 : 이것은 플러그인 작성자가 저장되는 곳입니다.
이제 플러그인이 콘솔에 무엇인가를 인쇄하려면 this.getServer(). getLogger(). info (" MESSAGE); (플러그인이 다른 클래스를 확장하여 다른 클래스 대신 "this"를 사용하여 로그하는 이유)
하지만 그들이 함수를 호출 할 때 어떤 플러그인을 얻는 지에 대한 아이디어는 없다. 이벤트 처리기가 이벤트 함수를 실행하기 위해 주기적으로 사용하는 PluginSessions의 ArrayList가 있습니다.
내 솔루션은 거기에서 plugin.yml을 얻을 수 있도록 클래스가 호출되는 jar 파일을 가져 오는 것입니다. 그러나, 나는 그것을 얻는 방법에 대한 생각이 없으며 Class.forName(); 및 일부 다른 코드. 그러나 클래스가 코드를 실행하는 jar/프로젝트 내에 존재하지 않기 때문에 ClassNotFoundException을 발생시킵니다.
Class.forName()을 사용하지 않고 클래스가 들어오는 항아리를 얻는 방법을 알고있는 사람이 있습니까? 감사! 대한 -Trent
감사합니다. 이제 마침내 플러그인 세션 클래스 외부에서 플러그인 정보를 얻을 수 있습니다! :디 – Whirvis