Nella locazione U:\Simulatore possiedo i seguenti sorgenti, che fanno parte del package "simulatore":
codice:package simulatore; public class Sim { public static void main (String args[]) { try{ SimulatoreClosedNet S = new SimulatoreClosedNet(1, 2, 3); }catch (Exception e) {System.err.println(e);} } }
Questo main richiama il costruttore nella relativa classe (ne riporto solo le parti fondamentali perche' il codice e' piuttosto lungo)
Compilando tutto, quando tento di avviare il programma, questo restituisce il seguente messaggio:codice:package simulatore; import java.util.ArrayList; import java.util.LinkedList; import java.util.Collections; import random.*; import java.io.*; public class SimulatoreClosedNet { [...] public SimulatoreClosedNet (double seed, int N, int M, String fileInput) throws random.GRUnif01.SeedException { [...] } public SimulatoreClosedNet(double seed, int N, int M) throws random.GRUnif01.SeedException { [...] } [...] }
Perche'? E' un errore nel package o dovrei fare un import? (ho tentato ma i risultati sono stati anche peggiori). Perche' non trova la classe? Dove sbaglio?U:\Simulatore>java Sim
Exception in thread "main" java.lang.NoClassDefFoundError: Sim (wrong name: simulatore/Sim)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java :620)
at java.security.SecureClassLoader.defineClass(Secure ClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader .java:260)
at java.net.URLClassLoader.access$100(URLClassLoader. java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java: 195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.j ava:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:3 06)
at sun.misc.Launcher$AppClassLoader.loadClass(Launche r.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:2 51)
at java.lang.ClassLoader.loadClassInternal(ClassLoade r.java:319)
Grazie a chiunque possa fare un minimo di chiarezza.
L.G.