Forum Astuces.divers [Terminal] Compilation java à la volée

Posté par  .
Étiquettes : aucune
1
20
mar.
2004
Voici l'adaptation pour des tests Java de l'astuce de Salagnac (voir http://linuxfr.org/tips/197.html). Cette adaptation permet de faire des test en Java sans avoir à compiler puis interprêter, à la JIT shell.
 
===( Fichier "jit.sh" )===
#! /bin/sh
 
cat > /tmp/Test.java << EOF
public class Test {
public static void main(String[] args) {
EOF
tail +2 $1 >> /tmp/Test.java
cat >> /tmp/Test.java << EOF
}
}
EOF
 
javac /tmp/Test.java
rm -f /tmp/Test.java
java -classpath /tmp Test
rm -f /tmp/Test.class
===( Fin fichier "jit.sh" )===
 
Ensuite à chaque fois que l'on veux tester quelque chose en java en shell il suffit d'exécuter un fichier sh du type :
 
#! /bin/sh [ABSOLUTE_PATH_TO]/jit.sh
 
System.out.println("#Test");
  • # Re: Compilation java à la volée

    Posté par  . Évalué à 1.

    Script modifié utilisant le mktemp pour plus de sécurité.

    #! /bin/sh 

    TMPFILE=`mktemp /tmp/jit.XXXXXX`
    CLASSNAME=`echo $TMPFILE | perl -p -e 's/jit\.//g;s/\/tmp\///g'`
    CLASSFILE="/tmp/$CLASSNAME.java"

    mv $TMPFILE $CLASSFILE

    cat > $CLASSFILE << EOF
    public class $CLASSNAME {
    public static void main(String[] args) {
    EOF
    tail +2 $1 >> $CLASSFILE
    cat >> $CLASSFILE << EOF
    }
    }
    EOF

    javac $CLASSFILE
    rm -f $CLASSFILE
    java -classpath /tmp $CLASSNAME
    rm -f /tmp/$CLASSNAME.class
  • # Groovy

    Posté par  . Évalué à 0.

    Pour faire du script à la sauce java : http://groovy.codehaus.org/(...)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.