|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
[JAVA]creare proprio package
Ho tante classi, e vorrei ordinarle un po', quindi vorrei creare vari package.
Come si fa? Ho anche un libro ma non ho capito... Vorrei avere le classi raggiugibili così: import mionome.nomeprogetto.tipodiclasse.*; Quindi ad esempio se ho una classe che mi svolge un servizio di rete vorrei renderla raggiungibile così: import mioNome.nomeProg.NetWorking.*; Cosa devo fare? Se qualcuno mi spiega passo per passo come fare...considerando anche che poi il progetto deve essere trasportabile, cioè sarebbe meglio se fosse compilabile anche su di un'altra macchina...se possibile. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
Se per esempio metto le mie classi che svolgono servisi di rete nella cartella:
C:/progettoDIProva/mioNome/nomeProg/NetWorking Come faccio a raggiungerla con un import? Devo modificare anche il classpath? |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Nov 2002
Città: Cosenza --> Roma
Messaggi: 853
|
prima cosa, ti consiglierei di usare eclipse, o un altro IDE che ti facilita la gestione dei progetti, cmq, innannzitutto devi creare la struttura dei package che desideri sul file system, esempio, se vuoi il package mionome.nomeprogetto.tipodiclasse devi creare una cartella mionome, in cui è presente una sottocartelle nomeprogetto, e così via..inoltre il classpath deve contenere il percorso della cartella contenente mionome, infine nelle classi che andrai a posizionare in "mionome.nomeprogetto.tipodiclasse", dovrai scrivere all'inizio:
Codice:
package mionome.nomeprogetto.tipodiclasse;
__________________
GNU MyServer Wants YOU!! We live thinking we will never die. We die thinking we had never lived. Jason Becker |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
Grazie mille chiarissimo, ci sono riuscito!
Siccome si tratta di un progetto di esame, è probabile (non è sicuro) che il prof voglia compilare lui stesso i file java, in questo caso io dovrei cambiare il classpath del pc del prof? |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Nov 2002
Città: Cosenza --> Roma
Messaggi: 853
|
io in genere ho sempre portato il jar già compilato, più i sorgenti a parte, ovviamente se il prof vuole compilarselo il classpath deve essere corretto....
__________________
GNU MyServer Wants YOU!! We live thinking we will never die. We die thinking we had never lived. Jason Becker |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
Altra cosa, come faccio a fare in modo che se importo un mio package automaticamente importo anche package della sun?
Ad esempio ho un package networking che contiene classi che fanno uso di java.net.*; java.io.*; java,utili.*; c'è un modo per far si kè se importo il mio package importo anche quelli? |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
Comunque ho cantato vittoria troppo presto, non dava errori di compilazione perchè i file java li compilavo nella cartella che contiene anche mionome, se il file si trova da un'altra parte non riesce a trovare il package, quindi significa che non ho settato bene il classpath.
Premetto che in variabili d'ambiente io NON ho nessun CLASSPATH, l'ho creato ma non è cambiato nulla, come faccio a spaere se va bene quello che ho fatto? |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
utilizzo il JCreator, ho settato tutto e infatti mi trova i package, ma quando compilo una classe che contiene un oggetto di una classe all'interno del package mi dice che non è accessibile, tipo:
MasterServer.java Codice:
import mioprog.networking.*;
public class MasterServer {
public static void main(String[] args){
GestioneSocket gs;
}
}
Perchè? Preciso che i package sono in una cartella del tipo: C:\mionome\mioprog\netwoking e che nel CLASSPATH ho messo C:\mionome mentre invece il file MasterServer.java si trova in un altra cartella, quella che JCreator utilizza per i pregetti. |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
Questo è l'output completo dell'errore:
Codice:
C:\Programmi\Xinox Software\JCreatorV3LE\MyProjects\MasterServer\src\MasterServer.java:14: cannot access GestioneSocket
bad class file: C:\mionome\GestioneSocket.java
file does not contain class GestioneSocket
Please remove or make sure it appears in the correct subdirectory of the classpath.
GestioneSocket gs;
^
1 error
Process completed.
Sembra che non interpreti l'import dei package, in realtà il file class di GestioneSocket è in C:\mionome\nomeprog\networking e infatti ho messo l'import giusto...bho non capisco... |
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
Non ci credo...in pratica nella cartella C:\mionome c'era anche il file GestioneSocket.java e si vede che JCreator incontrando prima quello si fermava a quello nonostante fosse un java e non un class...certo che chi ha fatto l'algoritmo per compilare poteva anche guardare le estensioni dei file...
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:14.


















