Mein Code ist:Mein Java-Programm hat java.lang.UnsupportedClassVersionError. Wie repariere ich das?
public class StanfordTagger {
public static void main(String[] args)throws IOException, ClassNotFoundException
{
System.out.println("Starting Stanford Part of Speech Tagger");
//get file name with path from user
Scanner keyboard = new Scanner(System.in);
System.out.print("Enter the path and filename to tag: ");
String fileName = keyboard.nextLine();
String line = null;
// FileReader reads text files in the default encoding.
FileReader fileReader =
new FileReader(fileName);
// Always wrap FileReader in BufferedReader.
BufferedReader bufferedReader =
new BufferedReader(fileReader);
String newFileName = fileName.replace(".txt", "POSTagger.txt");
//create a FileWriter using the new path and file
FileWriter fileWriter = new FileWriter(newFileName);
// Always wrap FileWriter in BufferedWriter.
BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
/* creates a StanfordCoreNLP object, with POS tagging, lemmatization, NER, parsing, and coreference resolution
Properties props = new Properties();
props.setProperty("annotators", "tokenize, ssplit, pos, lemma, ner, parse, dcoref");
StanfordCoreNLP pipeline = new StanfordCoreNLP(props);*/
// Initialize the tagger with a model
MaxentTagger tagger = new MaxentTagger(
"G:\\Natural Language Final Project\\taggers\\english-left3words-distsim.tagger");
while((line = bufferedReader.readLine()) != null) {
System.out.println(tagger.tagString(line));
bufferedWriter.write(tagger.tagString(line)+"\n");
}
// Always close files.
bufferedReader.close();
bufferedWriter.flush();
bufferedWriter.close();
}
}
Und der Fehler, wenn ich laufen soll:
Enter the path and filename to tag: G:\Natural Language Final Project\tasks_1-20_v1-2\en\qa6_yes-no-questions_test.txt
Exception in thread "main" java.lang.UnsupportedClassVersionError: edu/stanford/nlp/tagger/maxent/MaxentTagger : Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:792)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at StanfordTagger.main(StanfordTagger.java:78)
Java Result: 1
BUILD SUCCESSFUL (total time: 39 seconds)
Weiß jemand, was ich dieses Problem beheben tun müssen?
"Wenn JVM versucht, eine Klasse zu laden, und keine Klassendateiversion unterstützt wird, wird UnSupportedClassVersionError ausgegeben. Dies tritt normalerweise auf, wenn eine höhere JDK-Version zum Kompilieren der Quelldatei verwendet wird und eine niedrigere JDK-Version zum Ausführen des Programms verwendet wird . " –
Versuchen Sie, diesen Beitrag http://stackoverflow.com/questions/10382929/how-to-fix-java-lang-unsupportedclassversionerror-unsupported-major-minor-versi zu sehen – TheLearner