Moin,
ich versuch mich gerade in Reflections, funkt aber leider nicht ganz,
ich habe die folgenden Klassen wobei die untere Klasse sich in einer jar befindet und in das Projekt mit der ersten Klasse eingebunden wurde.
Hat jemand einen Rat was ich da falsch mache?
Vielen Dank,
Aufzurufende Methode ausgabe:
Exception:
ich versuch mich gerade in Reflections, funkt aber leider nicht ganz,
ich habe die folgenden Klassen wobei die untere Klasse sich in einer jar befindet und in das Projekt mit der ersten Klasse eingebunden wurde.
Hat jemand einen Rat was ich da falsch mache?
Vielen Dank,
Code:
package antidecompiletest;
import java.lang.reflect.Method;
public final class AntiDecompileTest {
public static void main(String ... args) throws Throwable {
String bothWords = append("Hello ", "everybody.");
System.out.println(bothWords);
}
public static String append(String firstWord, String secondWord) throws Exception {
Class c = Class.forName("testprojekt.Main");
Method concatMethod = c.getMethod("ausgabe", new Class[] {String.class});
String result = (String) concatMethod.invoke(firstWord, new Object[] {secondWord});
return result;
}
}
Aufzurufende Methode ausgabe:
Code:
package testprojekt;
public class Main implements java.io.Serializable {
public String ausgabe(String ausgabe) {
return new String("Aus der Methode ausgabe: " + ausgabe);
}
}
Exception:
Code:
Exception in thread "main" java.lang.IllegalArgumentException: object is not an instance of declaring class
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at antidecompiletest.AntiDecompileTest.append(AntiDecompileTest.java:15)
at antidecompiletest.AntiDecompileTest.main(AntiDecompileTest.java:8)