PDA

View Full Version : [java] errore "duplicate class"


soundsgood
29-12-2007, 21:24
ciao ragazzi..

sto facendo un'applicazione che tramite JBDC comunica con Mysql.. e funziona.. solo che al momento di riordinare tutte le classi in dei package escono fuori degli errori..

in particolare la classe (standard) ConnectionManager che si occupa di gestire la connessione al database..

dopo aver diviso le classi nei package Domain, DAO, ecc (i vari strati dell'applicazione che si occupa di una base dati..) ecco cosa mi da facendo build project (con JCreator):










"C:\Users\Soundsgood\Desktop\Wellness\ConnectionManager.java:10: duplicate class: Utility.ConnectionManager
public class ConnectionManager {
^
C:\Users\Soundsgood\Desktop\Wellness\SFDAO.java:12: cannot access ConnectionManager
bad class file: C:\Users\Soundsgood\Desktop\Wellness\ConnectionManager.java
file does not contain class ConnectionManager
Please remove or make sure it appears in the correct subdirectory of the classpath.
private static ConnectionManager manager = null;
^
2 errors

Process completed.
"

come vedete la classe ConnectionManager l'ho messa in un package Utility..

non riesco a capire perche da errore..
poi c'è un ordine dicompilazione?
per favore aiutatemi mi serve per un progetto all'universita che devo presentare fra poco..

spero in voi..

grazie

andbin
29-12-2007, 22:17
come vedete la classe ConnectionManager l'ho messa in n package Utility..Ok, ma non ti è chiaro come funzionano i package specialmente riguardo alla relazione con il file-system.
La struttura dei package si deve sempre "riflettere" nella struttura delle directory nel file-system!!

Una classe Prova dichiarata nel package org.pippo dovrà essere messa così:

org
|
+-- pippo
|
+-- Prova.class

Dove org e pippo sono delle directory, in pratica deve esistere un path org\pippo\Prova.class e in "classpath" ci deve essere la directory che contiene la "org".

soundsgood
30-12-2007, 13:56
non ho ben capito..
io tutti i file, appartenenti a package diversi, li ho messi in una directory "progetto"..

devo creare una directory per ogni package e metterci dentro i file .java?
e poi devo modificare per ogni file ad esempio "package Domain"in "package progetto.Domain" ?

poi nella variabile di ambiente classpath aggiungo il percorso della directory "progetto"


pero se è cosi quando creo un progetto con JCreator e aggiungo i file .java residenti nelle varie cartelle me li rimette tutti dentro la cartella dove creo il file del progetto..

come si fa?

morskott
31-12-2007, 10:06
non ho ben capito..
io tutti i file, appartenenti a package diversi, li ho messi in una directory "progetto"..

devo creare una directory per ogni package e metterci dentro i file .java?
e poi devo modificare per ogni file ad esempio "package Domain"in "package progetto.Domain" ?

poi nella variabile di ambiente classpath aggiungo il percorso della directory "progetto"


pero se è cosi quando creo un progetto con JCreator e aggiungo i file .java residenti nelle varie cartelle me li rimette tutti dentro la cartella dove creo il file del progetto..

come si fa?

Allora, se tu nel tuo file java hai un package mioPackagePrimario.mioPackageSecondario nel file system dovrai porre il .java nella cartella "mioPackagePrimario\mioPackageSecondario" e dovrai compilarlo/eseguirlo dalla cartella padre