Ergebnis 1 bis 6 von 6

Thema: eval () in Java?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Ich denke, was du suchst ist BeanShell. Das ist eine Skriptsprache, die Java so ähnlich ist, daß man Java-Code fast unverändert ausführen kann.

    BTW, BeanShell wird in Zukunft ein Teil von Java werden.

  2. #2
    Theoretisch könnte man da auch was über nen Classloader machen. Damit lässt sich praktisch alles ausführen, wenn man es richtig (Sprich: in den passenden Bytecode) umwandelt.

    Geändert von DFYX (04.11.2006 um 20:01 Uhr) Grund: Erklärung hinzugefügt

  3. #3
    Hat nur den Nachteil, daß man vorher den Quell- in Bytecode umwandeln muß, wofür Java keine eingebauten Mechanismen hat - und wenn man versucht, javac zu verwenden hat man plötzlich distributionsspezifische Pfadangaben etc. und setzt auch noch das Vorhandensein eines JDK voraus.

  4. #4
    Zitat Zitat von Jesus_666 Beitrag anzeigen
    Hat nur den Nachteil, daß man vorher den Quell- in Bytecode umwandeln muß, wofür Java keine eingebauten Mechanismen hat - und wenn man versucht, javac zu verwenden hat man plötzlich distributionsspezifische Pfadangaben etc. und setzt auch noch das Vorhandensein eines JDK voraus.
    JDK habe ich ja, und ich wollte das auch mehr als Spielerei verwenden, wenn überhaupt, und nicht veröffentlichen. Sowas merkwürdiges, un-Java-mäßiges in einem richtigen Programm zu verwenden wäre wohl Blödsinn.
    Aber wie kann man jetzt javac aus einem Java-Programm heraus aufrufen? *auf zweite Frage deut*

    Aber BeanShell klingt schon mal ziemlich gut, werde ich mir mal näher ansehen. Danke! ^^

    Edit: Muchas Gracias!

    Geändert von drunken monkey (05.11.2006 um 11:14 Uhr)

  5. #5
    Code:
    try
    {
      Process child = Runtime.getRuntime().exec("ls -la .");
    }
    catch (IOException e)
    {
      System.err.println(e.toString()); // bla
    }
    Für Zugriff auf Rückabewerte etc. sieh' dir die API-Doku zum Thema Process an.
    Falls du mehr Kontrolle über den Prozeß brauchst sieh' dir mal die ProcessBuilder-Klasse an.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •