[JAVA] Ich möchte die Hauptmethode mit Reflektion aufrufen

Wenn Sie beispielsweise ein Befehlszeilentool entwickeln, möchten Sie möglicherweise die Hauptmethode testen oder debuggen. Reflexion ist in solchen Fällen nützlich, aber wie kann die Hauptmethode aus Reflexion ausgeführt werden? Die Schlussfolgerung ist das folgende Beispiel.

try {
    Method mainMethod = Sample.class.getMethod("main", String[].class);
    String[] args = {"arg1", "arg2", "arg3"};
    mainMethod.invoke(null, (Object) args);
} catch (NoSuchMethodException 
            | SecurityException 
            | IllegalAccessException
            | IllegalArgumentException
            | InvocationTargetException e) {
    e.printStackTrace();
    throw new RuntimeException(e);
}

Ist es als Punkt "aufrufen"? __ Geben Sie dem ersten Argument "null" und geben Sie "args" an, die für den nachfolgenden Argumentteil mit variabler Länge in "Object" umgewandelt wurden. __ Schützen wir diese beiden Punkte und haben Spaß beim Nachdenken (´ ω ・ `)

Recommended Posts

Ich möchte die Hauptmethode mit Reflektion aufrufen
Ich möchte eine Methode aufrufen und die Nummer zählen
Ich möchte eine Methode einer anderen Klasse aufrufen
Ich möchte den Bereich anhand des monatlichen Abschlusses beurteilen
[Grober Kommentar] Ich möchte die Zupfmethode heiraten
[JDBC ③] Ich habe versucht, mithilfe von Platzhaltern und Argumenten Eingaben über die Hauptmethode vorzunehmen.
Ich habe versucht, die Methode zu erklären
Ich möchte eine andere Desinfektionsmethode als Ansicht verwenden.
Ich wollte der Methode @VisibleForTesting hinzufügen
Ich war süchtig nach der Rollmethode
Ich möchte das Argument der Annotation und das Argument der aufrufenden Methode an den Aspekt übergeben
[Ruby] Ich möchte einen Methodensprung machen!
Ich möchte den Inhalt der Absicht var_dump
Wenn Sie die Methode außerhalb verwenden möchten
Ich möchte nach dem Dezimalpunkt abschneiden
Ich möchte den Wert in Ruby erhalten
Ich möchte die stärkste lokale Entwicklungsumgebung mit VSCode Remote Containers erstellen
[Java] Ich möchte die Differenz zum Datum berechnen
Ich möchte eine TraceId in das Protokoll einbetten
Ich möchte die Antwort der Janken-App wissen
Ich möchte den Namen des Posters des Kommentars anzeigen
Ich möchte den Dunkelmodus mit der SWT-App verwenden
Ich möchte die Bildlaufposition von UITableView zurückgeben!
Ich möchte die Protokollausgabe unter Android vereinfachen
Ich möchte der Kommentarfunktion eine Löschfunktion hinzufügen
Ich möchte Zeichen konvertieren ...
[Anfänger] Ich möchte die Migrationsdatei ändern.
[Rails] [Bootstrap] Ich möchte die Schriftgröße entsprechend ändern
Ich möchte Java Applet ohne Verwendung einer IDE erstellen
(´-`) .. oO (Ich möchte die Standardausgabe" Hallo "leicht finden.
Ich möchte Tomcat auf den Server bringen und die Anwendung starten
Ich möchte die Protokollausgabeeinstellung von UtilLoggingJdbcLogger ändern
Ich möchte die Java 8 DateTime-API (jetzt) langsam verwenden.
Ich möchte ein Formular erstellen, um die Kategorie [Schienen] auszuwählen
Ich habe versucht, die Umgebung nach und nach mit Docker aufzubauen
Ich möchte das JDK auf meinem Mac-PC installieren
Ich möchte dem select-Attribut einen Klassennamen geben
Ich möchte die Liste der Klassen unter dem Paket rekursiv durchsuchen
Ich möchte im gespeicherten Zustand zum selben Bildschirm wechseln
Ich möchte mehrere Rückgabewerte für das eingegebene Argument zurückgeben
[Ruby] Ich möchte die Reihenfolge der Hash-Tabelle umkehren
Ich möchte den Startbefehl mit Docker-Compose an Postgres übergeben.
Ich möchte die if-else-Anweisung für bedingte Verzweigungen in Java vereinfachen
Verwendung der link_to-Methode
Ich möchte nur dem Poster Bearbeitungs- und Löschberechtigungen erteilen
Verwendung der include? -Methode
[Metall] Ich habe versucht, den Fluss bis zum Rendern mit Metall herauszufinden
Verwendung der Methode form_with
Ich möchte den Ablauf der Spring-Verarbeitungsanforderungsparameter verstehen
Verwenden Sie den Modifikator # isStatic, um festzustellen, ob die Methode [Reflection] statisch ist.