我在项目中有这些包:
我在AnalysisLab类中调用File_Intestazione时有一个ClassNotFoundException。 看看这段代码:
import ServicesFiles.File_Intestazione;
import java.io.FileNotFoundException;
import java.io.IOException;
public class AnalysisLab
{
public static void main(String[] args)
{
try
{
new AnalysisLab().verifica_licenza();
}
catch(FileNotFoundException e){JOptionPane.showMessageDialog(null,"Impossibile trovare il file intestazione.dat"); System.exit(0);}
catch(IOException e){JOptionPane.showMessageDialog(null,"Errore durante la lettura da file intestazione.dat"); System.exit(0);}
catch(ClassNotFoundException e){JOptionPane.showMessageDialog(null,"ClassNotFoundException"); e.printStackTrace(); System.exit(0);}
}
public void verifica_licenza() throws FileNotFoundException, IOException, ClassNotFoundException
{
File_Intestazione fIntestazione = new File_Intestazione();
}
}
所以,当我执行我的程序时,我有这个例外:
java.lang.ClassNotFoundException: analysislab.File_Intestazione
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:686)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1866)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1749)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2040)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1571)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:431)
at ServicesFiles.File_Intestazione.<init>(File_Intestazione.java:26)
at Temp.AnalysisLab.verifica_licenza(AnalysisLab.java:42)
at Temp.AnalysisLab.main(AnalysisLab.java:25)
答案 0 :(得分:1)
它正在寻找具有该名称的类在不同的包中:
java.lang.ClassNotFoundException: analysislab.File_Intestazione
您的课程为ServicesFiles.File_Intestazione
。
这个错误应该在新的重建中显示为编译错误(如果它在那里),但看起来上面的代码正在读取某种过时的序列化对象课程定义。
删除/重新创建这些序列化的目标文件,它应该可以工作。