Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di el92
    Registrato dal
    Dec 2014
    Messaggi
    177

    [java]creazione di un package e classpath

    ciao ho appena inizto a creare dei miei package ed ho incontrato giùà le prime difficoltà...laloro con su ubuntu..allora ho il seguente packagesalvato in /home/elena/Scrivania/provaPackage/time)

    codice:
    package provaPackage.time; 
         
        public class Time
        {
            int i=2;
        
        public Time(int y) // costruttore pubblico
        {
            this.i=y;
    
        }
        public int setOr()
        {
            return i;
      
        }
        
        }
    È compilato correttanmente;poi da main: (salvato in:/home/elena/Scrivania/provaPackage/Prova6):

    codice:
    package provaPackage.time;
    
        import provaPackage.time.*;
        public class Prova6
        {
                public static void main(String[] args)
                {
                        Time t=new Time(6);
                        System.out.println(t.setOr());
                    
                       
                }
        }
    e qui mi dà errore;il compilatore non riesce a trovare la classe Prova6.Devo spostare le classi nella directory del classpath(PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/lib/jvm/jdk1.6.0_45/bin

    )?

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    La regola fondamentale è che i nomi dei package si devono sempre "riflettere" nella struttura delle directory. E vale sia quando i .class sono "sciolti" nel file-system, sia quando sono impacchettati in un jar.

    Nel tuo caso la classe, il .class compilato DEVE stare in un percorso

    XYZ/provaPackage/time/Time.class

    Quale sia la directory XYZ non ha importanza ... importa invece che la XYZ sia "in classpath".

    Anche il sorgente è bene che stia sotto una provaPackage/time
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it L'avatar di el92
    Registrato dal
    Dec 2014
    Messaggi
    177
    una domanda io lavoro su ubuntu...come faccio a trovare la classpath?

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da el92 Visualizza il messaggio
    una domanda io lavoro su ubuntu...come faccio a trovare la classpath?
    A livello dei tools del JDK/JRE, il classpath si può impostare in diversi modi:
    - con la variabile di ambiente CLASSPATH
    - con l'opzione -classpath / -cp (passata a javac, java ecc..)

    Lanciando con es. java -jar file.jar il classpath è formato da quel jar e dai jar eventualmente referenziati nel Manifest del jar ecc...

    Nota: PATH non c'entra niente con le classi Java ... è per la ricerca in generale degli eseguibili nel sistema.


    P.S. leggi Setting the Class Path (Windows) / Setting the Class Path (Unix like)
    e How Classes are Found
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Tra parentesi, se la classe Prova6 è nel package "provaPackage.time", allora è perfettamente inutile fare l'import di tutte le classi dello stesso package: sono già visibili da quella classe, proprio perchè si trovano nello stesso package.

    Quindi, togli quell'import nella classe Prova6.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.