Newsgroup: it.comp.java
Titolo: aiuto: come si usa la classe Compiler

Mi diletto con il java da poco tempo, vi sarei grato se mi illustraste
l'utilizzo della classe Compiler.
cioč:
Compiler compiler = new Compiler(???);
Inoltre mi servirebbe conoscere alcune sue interfacce e metodi e il loro
utilizzo.
Grazie.
Nihil


wrote:

io non ho mai usato tale classe e da quel che ho capito
un'applicazione non dovrebbe aver bisogno di utilizzarla 
(serve al compilatore just in time credo)
ciao_O
Andrea
http://digilander.iol.it/schiele

 
http://digilander.iol.it/schiele
No, è una classe proprio come tutte le altre (Vector, BorderLayout, etc...)
e la mia applicazione ne ha bisogno perchè mi serve per compilare altri
sorgenti. Cmq se sai dirmi un modo per catturare l'output del compilatore
"normale" (javac) può farne a meno...
ciao
Nihil

"normale" (javac) puň farne a meno...
ti riporto (in parte) la documentazione della Sun, 
da quel che ne capisco io mi sembra che la classe 
compiler non serva tanto a compilare classi a partire
dai sorgenti, quanto piuttosto a ricompilare in codice
nativo (runtime) le classi a partire dai bytecode
comunque prova a leggere i messaggi "compilare runtime" 
mi sembra che si parli proprio di quello che vuoi fare tu
ciao_O
public final class Compiler extends Object
The Compiler class is provided to support Java-to-native-code
compilers and related services. By design, the Compiler class does
nothing; it serves as a placeholder for a JIT compiler implementation.
When the Java Virtual Machine first starts, it determines if the
system property java.compiler exists. (System properties are
accessible through getProperty and , a method defined by the System
class.) If so, it is assumed to be the name of a library (with a
platform-dependent exact location and type); the loadLibrary method in
class System is called to load that library. If this loading succeeds,
the function named java_lang_Compiler_start() in that library is
called. 
If no compiler is available, these methods do nothing. 
--------------------------------------------------------------------------------
Method Summary 
static Object command(Object any) 
          Examines the argument type and its fields and perform some
documented operation. 
static boolean compileClass(Class clazz) 
          Compiles the specified class. 
static boolean compileClasses(String string) 
          Compiles all classes whose name matches the specified
string. 
static void disable() 
          Cause the Compiler to cease operation. 
static void enable() 
          Cause the Compiler to resume operation. 
  Methods inherited from class java.lang.Object 
clone, equals, finalize, getClass, hashCode, notify, notifyAll,
toString, wait, wait, wait 
 
--------------------------------------------------------------------------------
Method Detail 
--------------------------------------------------------------------------------
compileClass
public static boolean compileClass(Class clazz)
Compiles the specified class.
Parameters:
clazz - a class.
Returns:
true if the compilation succeeded; false if the compilation failed or
no compiler is available.
--------------------------------------------------------------------------------
compileClasses
public static boolean compileClasses(String string)
Compiles all classes whose name matches the specified string.
Parameters:
string - the name of the classes to compile.
Returns:
true if the compilation succeeded; false if the compilation failed or
no compiler is available.
--------------------------------------------------------------------------------
[...]
Andrea
http://digilander.iol.it/schiele

Grazie Andrea, seguirň il tuo consiglio.
Nihil