リフレクションによる非静的メソッドの呼び出しに問題があります。私のコードは以下です。「ClassnameRemoved.printMessageToLogger(Level.INFO, "Test");」を実行しようとすると、「クラス Logger でメソッド 'log' が見つかりませんでした。これは通常の Java クラスなので、おそらく変更された / outdata Java バージョン。". 前もって感謝します!
private static void printMessageToLogger(Level lvl, String message) {
try{
Class<?> clazz = Class.forName("net.packgeName.omitted.Main");
Field logger = clazz.getDeclaredField("tcLog");
Method logMethod = logger.getDeclaringClass().getDeclaredMethod("log", Level.class, String.class);
logMethod.invoke(logger, lvl, message);
}
// catch methods omitted to save space
}