|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: May 2003
Città: Rimini
Messaggi: 2276
|
Help per Jbuilder
Scusate la domanda banale, ma sono al primo progetto in java...
Dunque, ho fatto un'applet in Java; ho 8 classi, ognuna l'ho messa in un file diverso che ha lo stesso nome della classe (dichiarata public). Ho creato un progetto con il Jbuilder 9, ho inserito tutti i file delle classi. Quando vado a fare "Make Project" mi da un casino di errori del tipo: ""Automezzo.java": cannot resolve symbol: class Sprite in class Automezzo at line 1, column 32". Ora, la classe Sprite esiste, è nella stessa dir, è inclusa nel progetto ed è public in un file "Sprite.java"!! Cosa ho dimenticato? Perché non la trova? Aiutatemi grazie ![]()
__________________
Gigabyte 965P-DS3 ¤ E6600@400*8 ¤ Scythe Ninja Plus Rev.B ¤ Ram 4GB ¤ HD SSD Crucial M4 128GB
Gainward 4850 Golden Sample ¤ Antec NEO 550HE ¤ CM Centurion 534 ¤ Dell Ultrasharp U2312HM Notebook Asus N551JW ¤ i7-4750HQ ¤ nVidia 960M 4GB ¤ 16GB DDR3 ¤ SSD Intel 850EVO 500GB |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Apr 2000
Città: S.Croce s/Arno - Pisa - Toscana
Messaggi: 1015
|
Hai messo il package? JBuilder lo vuole anche se le classi sono tutte nella stessa cartella altrimenti non funziona a meno che tu non lanci l'esecuzione da prompt. Cmq non so se è questo il problema perchè dovrebbe metterlo da se.
__________________
Il mio album su Flickr :: Video Laurea Honoris Causa ad Alan Kay, Universita' di Pisa :: Thinking Different, PowerBook G4 12" 1GHz, iMac Core 2 Duo 20" |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: May 2003
Città: Rimini
Messaggi: 2276
|
Si, ho messo il package scrivendo in tutti i file "package <nomepackage>", ma la situazione non cambia...
Forse è un problema di classpath? Nelle variabili d'ambiente di windows ho messo sia la jdk\lib sia la dir del progetto...
__________________
Gigabyte 965P-DS3 ¤ E6600@400*8 ¤ Scythe Ninja Plus Rev.B ¤ Ram 4GB ¤ HD SSD Crucial M4 128GB
Gainward 4850 Golden Sample ¤ Antec NEO 550HE ¤ CM Centurion 534 ¤ Dell Ultrasharp U2312HM Notebook Asus N551JW ¤ i7-4750HQ ¤ nVidia 960M 4GB ¤ 16GB DDR3 ¤ SSD Intel 850EVO 500GB |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Apr 2000
Città: S.Croce s/Arno - Pisa - Toscana
Messaggi: 1015
|
Non credo che il problema sia nelle variabili d'ambiente, io c'ho messo solamente il percorso di javac per compilare da prompt e funziona tutto.
Hai provato a compilare da prompt?
__________________
Il mio album su Flickr :: Video Laurea Honoris Causa ad Alan Kay, Universita' di Pisa :: Thinking Different, PowerBook G4 12" 1GHz, iMac Core 2 Duo 20" |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: May 2003
Città: Rimini
Messaggi: 2276
|
Sì, da prompt funziona e mi da solo gli errori normali, non quelli di "cannot resolve symbol". Però vorrei capire perché con Jbuilder non va, anche perché è comodo potersi scorrere tutti gli errori e trovarli nel codice automaticamente, mentre invece da riga di comando mi devo fare tutto a mano (ed il progetto è corposo...).
Nessuno ha qualche idea?
__________________
Gigabyte 965P-DS3 ¤ E6600@400*8 ¤ Scythe Ninja Plus Rev.B ¤ Ram 4GB ¤ HD SSD Crucial M4 128GB
Gainward 4850 Golden Sample ¤ Antec NEO 550HE ¤ CM Centurion 534 ¤ Dell Ultrasharp U2312HM Notebook Asus N551JW ¤ i7-4750HQ ¤ nVidia 960M 4GB ¤ 16GB DDR3 ¤ SSD Intel 850EVO 500GB |
![]() |
![]() |
![]() |
#6 |
Member
Iscritto dal: Apr 2000
Messaggi: 138
|
Come hai inserito i file nel progetto di jbuilder?
La struttura delle directory per un progetto jbuilder deve seguire questo schema: definisco root la directory dove e' stato creato il progetto (newprj.jpx) a partire da root ci dovrebbero essere le dir (questo e' il default che si aspetta jbuilder, ma che puoi cambiare nel pannello delle proprieta' del progetto): bak classes doc src All'interno della cartella src devono essere messi i sorgenti, ma devono essere messi nelle cartelle definite come package. A questo punto puoi anche non inserire a mano i file nel progetto, li tira su jbuilder. Spero di essere stato abbastanza chiaro e di aver centrato il problema.
__________________
fgmac |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: May 2003
Città: Rimini
Messaggi: 2276
|
Le cartelle bak e src non c'erano, i file delle mie classi erano in una cartella diversa da quella del progetto (le avevo "inserite" con "Add files/packages/classes..."). Allora le ho create e ho copiato tutti i file sia in classes sia in src, ma il problema rimane...
__________________
Gigabyte 965P-DS3 ¤ E6600@400*8 ¤ Scythe Ninja Plus Rev.B ¤ Ram 4GB ¤ HD SSD Crucial M4 128GB
Gainward 4850 Golden Sample ¤ Antec NEO 550HE ¤ CM Centurion 534 ¤ Dell Ultrasharp U2312HM Notebook Asus N551JW ¤ i7-4750HQ ¤ nVidia 960M 4GB ¤ 16GB DDR3 ¤ SSD Intel 850EVO 500GB |
![]() |
![]() |
![]() |
#8 |
Member
Iscritto dal: Apr 2000
Messaggi: 138
|
Nella dir src ci deve essere la cartella <tuo package> e li' dentro i file sorgente.
Nella cartella classes ci saranno le classi compilate da jbuilder (mi ero dimenticato di dirlo). In jbuilder dovresti vedere delle icone (pacchetit regalo) che rappresentano i package e ritrovarti i tuoi file sorgente, altrimenti c'e' qulacosa che non va. Se non funziona ti mando un piccolo progettino funzionante in jbuilder per vedere la struttura.
__________________
fgmac |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: May 2003
Città: Rimini
Messaggi: 2276
|
Grande! Adesso funziona!!
Ho messo tutto in src/<nomepackage>, ho avviato jbuilder e me le riconosceva dentro al "pacchetto regalo"... Poi è bastato rimuovere i file vecchi e la compilazione adesso funziona. ![]() ![]() Adesso rimane solo da far funzionare il programma... ![]() ![]() ![]() Grazie 1000
__________________
Gigabyte 965P-DS3 ¤ E6600@400*8 ¤ Scythe Ninja Plus Rev.B ¤ Ram 4GB ¤ HD SSD Crucial M4 128GB
Gainward 4850 Golden Sample ¤ Antec NEO 550HE ¤ CM Centurion 534 ¤ Dell Ultrasharp U2312HM Notebook Asus N551JW ¤ i7-4750HQ ¤ nVidia 960M 4GB ¤ 16GB DDR3 ¤ SSD Intel 850EVO 500GB |
![]() |
![]() |
![]() |
#10 |
Member
Iscritto dal: Apr 2000
Messaggi: 138
|
Ottimo!!!
![]() ![]() ![]() ![]() Jbuilder è veramente funzionale, scoprirai ben presto di riuscire a scrivere il codice molto velocemente.
__________________
fgmac |
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: May 2003
Città: Rimini
Messaggi: 2276
|
Approfitto per chiederti un'altra cosa...
Una volta compilate le classi col Jbuilder, voglio provare l'applet con appletviewer (cioè scrivo "appletviewer <nomefile>.html), e la cosa non funziona (mi dice "Avvio: applet non inizializzato"), mentre se faccio partire l'applet da jbuilder almeno qualcosa vedo. Il dubbio è: avendo messo le classi in un package, devo anche metterle in una directory <nomepackage>, mettere il file html fuori e aggiungere il tag CODEBASE? Ho l'impressione che appletviewer non riesca a trovare le classi... Non so se sono stato spiegato ![]()
__________________
Gigabyte 965P-DS3 ¤ E6600@400*8 ¤ Scythe Ninja Plus Rev.B ¤ Ram 4GB ¤ HD SSD Crucial M4 128GB
Gainward 4850 Golden Sample ¤ Antec NEO 550HE ¤ CM Centurion 534 ¤ Dell Ultrasharp U2312HM Notebook Asus N551JW ¤ i7-4750HQ ¤ nVidia 960M 4GB ¤ 16GB DDR3 ¤ SSD Intel 850EVO 500GB |
![]() |
![]() |
![]() |
#12 |
Member
Iscritto dal: Apr 2000
Messaggi: 138
|
Purtroppo non conosco l'applettviewer e non so bene come aiutarti.
![]() Immagino che sia un problema di visibilita' delle classi. Tieni conto che la dir classes di jbuilder viene ricostruita con tutte le cartelle/package al momento della compilazione. Inoltre per l'utilizzo finale dovresti impacchettare tutto in un file jar.
__________________
fgmac |
![]() |
![]() |
![]() |
#13 |
Senior Member
Iscritto dal: May 2003
Città: Rimini
Messaggi: 2276
|
Capito. Grazie mille per l'aiuto!
![]()
__________________
Gigabyte 965P-DS3 ¤ E6600@400*8 ¤ Scythe Ninja Plus Rev.B ¤ Ram 4GB ¤ HD SSD Crucial M4 128GB
Gainward 4850 Golden Sample ¤ Antec NEO 550HE ¤ CM Centurion 534 ¤ Dell Ultrasharp U2312HM Notebook Asus N551JW ¤ i7-4750HQ ¤ nVidia 960M 4GB ¤ 16GB DDR3 ¤ SSD Intel 850EVO 500GB |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:45.