|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Sep 2003
Città: Lucca
Messaggi: 379
|
[JAVA]Fare una classe che esegue il compilatore
Ciao a tutti!
Avre bisogno di implementare una classe che opera nel seguente modo: cerca tutti i file *.java nella directory corrente dove si trova il file.class; fa eseguire il comando javac *.java per compilare le directory corrente. è possibile implementare qualcosa del genere? Mi potete aiutare con uno pseudocodice che mi dica quali classi da importare e quali metodi mi servono? Ogni consiglio, seppur minimo, è bene accetto!!! ;-) Grazie a tutti quelli che leggeranno questo post
__________________
God rides DUCATI! |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Sep 2003
Città: Lucca
Messaggi: 379
|
Utilizzo già ant per altri scopi, ma quello che cerco è diverso:
creo un file generatore.java (con all'interno un main), che al suo interno contiene il codice per creare un file nuovaclasse.java (utilizzando i metodi della classe fileWriter); A questo punto utilizzo ant per compilare, e una volta andato tutto a buon fine viene creato il file generatore.class Facendo java generatore viene creato nella directory corrente il file nuovaclasse.java. Adesso voglio che generatore.java oltre a creare nuovaclasse.java la compili, ma non so come fare...
__________________
God rides DUCATI! |
|
|
|
|
|
#4 |
|
Junior Member
Iscritto dal: Feb 2006
Messaggi: 11
|
Salve ragazzi cio sto programmino che mi visualizza i numeri primipero no riesco a far visualizzare i suoi divisori esempio cio 3 e divisible solo con 3 oppure cio 4 e divisibile con 2 e 4
public class NumeriPrimi{ static int primo; static int i; public static String numeroPrimo(int primo){ if(primo==2){ return"è un numero primo"; }else if (primo==3){ return "è un numero primo"; }else if (primo==5){ return "è un numero primo"; } if ((primo%2)==0) { return"non è numero primo"; }else if ((primo%3)==0){ return"non è un numero primo"; }else if ((primo%5)==0){ return"non è un numero primo"; } return"é un numero primo"; } public static void main(String args[]) { //NumeriPrimi primo = new NumeriPrimi(); String risposta=NumeriPrimi.numeroPrimo(3) System.out.println(risposta); } } |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
alexanderf: non puoi postare ovunque questa cosa... Apri un tuo thread e non inquinare altri thread... Grazie
|
|
|
|
|
|
#6 |
|
Member
Iscritto dal: Apr 2002
Messaggi: 73
|
Ciao non so se ho capito esattamente il tuo problema (non so cosa sia Ant)
pero' prova a far eseguire questo per la compilazione del file Runtime.getRuntime().exec("javac "+ il nome del tuo file da compilare); penso pero' che se lo fai girare su una macchina con il jre e che non ha il compilatore non ti funza dato che non c'e' il compilatore...
__________________
Dm - G7 - Cmay7 |
|
|
|
|
|
#7 | |||
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Quote:
Quote:
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|||
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
Quote:
così da Java fai una chiamata a quello che non è altro che un wrapper per un'altra applicazione java. non ne hai la necessità: Codice:
com.sun.tools.javac.Main javac = new com.sun.tools.javac.Main();
String[] args = new String[]{ nomefile};
int ret = javac.compile(args);
|
|
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
Quote:
la lista degli switch supportati è la stessa che per javac. |
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Sep 2003
Città: Lucca
Messaggi: 379
|
Ho inserito il codice di slowguitar e tutto ok.
Per quanto riguarda l'altro sistema ho provato ma non funziona (probabilmente perchè non ho settato il classpath) ma cmq visto che funziona adottero il metodo di slowguitar, anche pensando che il programmino che ho fatto potrebbe girare anche su machine che hanno il classpath senza tolls.jar Grazie ancora a tutti
__________________
God rides DUCATI! |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:26.



















