運行此代碼時出現以下錯誤:java.lang.NoClassDefFoundError如何解決這個問題?
下面是完整的Stackflow,任何輸入將讚賞;
Exception in thread "main" java.lang.NoClassDefFoundError: ExecuteQuiz
Caused by: java.lang.ClassNotFoundException: ExecuteQuiz
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
任何想法爲什麼?我有7個其他類參與該項目,但從未見過這個錯誤。
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
public class ExecuteQuiz {
static Scanner input = new Scanner(System.in);
public static void main(String[] args) throws IOException {
// ask the user for the filename
Scanner scan = new Scanner(System.in);
System.out.print("Which quiz are you taking? ");
String theFile = scan.nextLine(); // file may contain more than one word
File fileIn = new File(theFile);
// ask the user for another filename if the given file doesn't exist
// exists() method in File class - checks whether file
// exists and is readable
while (!fileIn.exists()) {
System.out.print("Invalid file name! Try again: ");
theFile = scan.nextLine();
fileIn = new File(theFile);
}
// have a valid file name, create a Scanner object
Scanner fileScan = new Scanner(fileIn);
// An arraylist of ALL problems.
ArrayList<Problem> problems = new ArrayList<Problem>();
// process the file
while (fileScan.hasNextLine()) {
String type = scan.nextLine(); // Get the line in a string
String question = scan.nextLine();
switch (type) {
case "W":
String WAnswer = scan.nextLine();
WProblem w = new WProblem(question, WAnswer);
problems.add(w);
break;
case "T":
String TString = scan.nextLine(); // Gets the string
boolean TAnswer = Boolean.parseBoolean(TString); // Converts to
// boolean
TProblem t = new TProblem(question, TAnswer); // Creates the
// object
problems.add(t);
break;
case "N":
String Nanswer = scan.nextLine();
NProblem n = new NProblem(question, Nanswer);
problems.add(n);
break;
case "S":
ArrayList<String> options = new ArrayList<String>();
// Get the answer and add it to the options
String SAnswer = input.nextLine();
options.add(SAnswer);
// add the rest of options
while (input.nextLine() != null) {
String option = input.nextLine();
options.add(option);
}
// Create new objects
SProblem s = new SProblem(question, SAnswer, options);
problems.add(s);
break;
case "M":
ArrayList<String> MAnswer = new ArrayList<String>();
ArrayList<String> MOptions = new ArrayList<String>();
// Find all the answers
while (input.nextLine() != null) {
String answer = input.nextLine();
MAnswer.add(answer);
MOptions.add(answer);
}
// get the rest of the options
while (input.nextLine() != null) {
MOptions.add(input.nextLine());
}
MProblem m = new MProblem(question, MAnswer, MOptions);
problems.add(m);
break;
case "O":
// Adding answers into an arraylist
ArrayList<String> OrderedAnswer = new ArrayList<String>();
// Add the answers in order
while (input.nextLine() != null) {
OrderedAnswer.add(input.nextLine());
}
OProblem o = new OProblem(question, OrderedAnswer);
problems.add(o);
break;
}
// Analyze the type of problem
}
}
}
請給堆棧跟蹤。在java.net.URLClassLoader的$ 1.run(URLClassLoader.java ExecuteQuiz \t: – Shurmajee 2013-03-15 04:57:30
你是如何運行的程序 – 2013-03-15 04:58:16
@MayankSharma異常在線程 「主要」 java.lang.NoClassDefFoundError:ExecuteQuiz 引起:拋出java.lang.ClassNotFoundException: 202) \t在java.security.AccessController.doPrivileged(本機方法) \t在java.net.URLClassLoader.findClass(URLClassLoader.java:190) \t在java.lang.ClassLoader.loadClass(ClassLoader.java:306) \t at sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:301) \t at java.lang.ClassLoader.loadClass(ClassLoader.java:247) – ShanaBoo 2013-03-15 04:59:39