J'essaie d'obtenir un programme que j'ai codé pour fonctionner correctement. Jusque là, javac et java sont bien, mais j'ai un NoClassDefFoundError.Java + Json - ClassNotFoundDefError
Cette capture d'écran montre comment j'ai javac, java le programme et le rapport d'invite de commande. Comme vous pouvez le voir, j'ai 3 fichiers source, et donc 3 classes. PeriodicTable ne fait rien en rapport avec le problème.
intérieur du tableau de classe I have ...
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.json.JsonArray;
import javax.json.JsonObject;
import java.awt.GridBagLayout;
import java.awt.GridBagConstraints;
import java.awt.Color;
import java.awt.Toolkit;
import java.awt.Dimension;
import java.io.IOException;
class Table {
//Predefining some global variables
DataBaseReader dbReader;
//some methods...
protected void showLayout() {
dbReader = new DataBaseReader();
//A few lines of code
try {
JsonArray elements = dbReader.readDataBase(); //Here it enters the DataBaseReader class through dbReader
//Some more code
} catch(IOException ioe) {
ioe.printStackTrace();
}
}
}
Voici ma classe DataBaseReader
import javax.json.Json;
import javax.json.JsonReader;
import javax.json.JsonObject;
import javax.json.JsonArray;
import java.io.FileReader;
import java.io.IOException;
public class DataBaseReader
{
public JsonArray readDataBase() throws IOException {
System.out.println("Check!"); //This check is reached
JsonReader reader = Json.createReader(new FileReader("C:/projects/PeriodicTable/Elements.JSON"));
System.out.println("Check!"); //This check is not reached
JsonObject jsonst = reader.readObject();
reader.close();
return jsonst.getJsonArray("Elements");
}
}
Quelles sont les versions, programmes, etc j'utilise actuellement?
Java 8
invite de commande
Bloc-notes
javax.json-1.0.jar
énoncer clairement ma question ... Toutes les idées ou des explications sur ce qui est à l'origine de cette erreur ?
vous configurez votre '-classpath' deux fois. – nyname00
CBastianelli a dit quelque chose qui a fait réfléchir à ce sujet. Cependant, pour une raison quelconque, l'invite de commande ne peut pas trouver les classes à moins que j'utilise -classpath une seconde fois ... Des idées sur la façon de résoudre ce problème? – Tyler
Vous ne pouvez lancer des programmes qui ont une méthode 'main()' via 'java' – Bajal