Program do walidacji XML i XSD w Javie

0

Miałam uruchomić napisany przez prowadzącego kod, służący do sprawdzania poprawności xml i XSD.
Zmieniłam ścieżke folderom, aby była odpowiednia.
Uruchomiłam javac XSDValidate.java a następnie : java XSDValidate.

Dostałam o to taki komunikat:



C:\Users\Naukowy\Desktop\plik xml>java XSDValidate > l.txt
Exception in thread "main" java.lang.UnsupportedClassVersionError: XSDValidate :
 Unsupported major.minor version 51.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(Unknown Source)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$000(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: XSDValidate.  Program will exit.

A to jest kod:


import javax.xml.transform.stream.StreamSource;
import javax.xml.validation.Schema;
import javax.xml.validation.SchemaFactory;
import javax.xml.validation.Validator;

public class XSDValidate {
	public static void main(String[] args) {
		try {
			SchemaFactory factory = SchemaFactory
					.newInstance("http://www.w3.org/2001/XMLSchema");

			Schema schema = factory.newSchema(new StreamSource(
					"C:/Users/Naukowy/plik xml/a.xsd"));
			Validator validator = schema.newValidator();

			// at last perform validation:
			validator.validate(new StreamSource(
					"C:/Users/Naukowy/plik xml/a.xml"));

		} catch (Exception ex) {
			ex.printStackTrace();
		} 
	}
}



Co zrobić aby program działał prawidłowo

0

Błąd oznacza że uruchamiasz ten kod na starej wersji javy. Ktoś to kompilował nową wersja a ty odpalasz na jakimś starociu.
Skoro masz tego źródła to zgaduje że path wskazuje ci na jakieś nowe JDK i javac jest brany stamtąd a JRE masz ustawione jakieś antyczne.

0

Ja kompilowałam i ustawiłam path ponieważ mimo zainstalowania javy nie był ustawiony PATH (javac nie działał).JRE mam zainstalowany aktualny, jak sprawić aby cmd odpal tą nowsze wersję?

W ogóle nie mam jakoś javy java version pokazuje mi mniejwięcej to co przy uruchomieniu programu, zamiast wersji...

Próbuje dodać teraz path.

Jaki plik (o jakiej nazwie powinnam dodać?) znaczy ścieżkę do jakiego pliku. Wiem że do javy ale jak wyszukuje w komputerze to mam dużo różnych plików

0

Masz dodać do zmiennej systemowej "path" ścieżkę do katalogu bin z instalacji javy. Dodatkowo wywwal stamtąd ścieżki do innych instalacji javy których używać nie chcesz.

1 użytkowników online, w tym zalogowanych: 0, gości: 1