Moin moin,
ich hab hier ein fast schon absurdes Problem:
Ich beschäftige mich gerade etwas mit yaml und der (einzigsten brauchbaren) Java-Implementierung die ich dazu gefunden habe, nämlich jyaml: http://jyaml.sourceforge.net/
Ich gehe nach diesem kurzen Tutorial vor : http://jyaml.sourceforge.net/tutorial.html
Folgendes klappt unter Windows hervorragend:
-> minimales yaml-file erstellt
-> Ein simple, entsprechende Klasse namens Person gemacht:
-> Und folgende Test-Main gemacht:
Funktioniert unter Windows wunderbar!
Unter Linux (Ubuntu Gutsy) krieg ich hingegen folgende Fehlermeldung (Pfad zum yaml-file natürlich entsprechend angepasst, also statt "K:\\tmp\\person.yml" halt "/tmp/person.yml) :
-> Die java-version unter Linux ist:
-> Die unter Windows:
-> Ich verwende sowohl unter windows als auch Linux eclipse, beide verwenden auch die oben gezeigten JVMs.
-> Ich verwende sowohl unter windows als auch Linux den gleichen workspace, an anderen Bibliotheken usw. kann es also nicht liegen.
Ich bin völlig ratlos?
Woran kann das liegen?
Wie kann ich das weiter eingrenzen?
ich hab hier ein fast schon absurdes Problem:
Ich beschäftige mich gerade etwas mit yaml und der (einzigsten brauchbaren) Java-Implementierung die ich dazu gefunden habe, nämlich jyaml: http://jyaml.sourceforge.net/
Ich gehe nach diesem kurzen Tutorial vor : http://jyaml.sourceforge.net/tutorial.html
Folgendes klappt unter Windows hervorragend:
-> minimales yaml-file erstellt
Code:
cat /tmp/person.yml
Code:
--- !Person
name: John Smith
age: 37
-> Ein simple, entsprechende Klasse namens Person gemacht:
Code:
public class Person {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
-> Und folgende Test-Main gemacht:
Code:
public class Yamltest {
public static void main(String[] args) throws FileNotFoundException {
// klappt unter windows!
Person person = Yaml.loadType(new File("K:\\tmp\\person.yml"),
Person.class);
System.out.println("name: " + person.getName());
System.out.println("age: " + person.getAge());
}
}
Funktioniert unter Windows wunderbar!
Code:
name: John Smith
age: 37
Unter Linux (Ubuntu Gutsy) krieg ich hingegen folgende Fehlermeldung (Pfad zum yaml-file natürlich entsprechend angepasst, also statt "K:\\tmp\\person.yml" halt "/tmp/person.yml) :
Code:
Exception in thread "main" java.lang.ClassCastException: java.util.HashMap cannot be cast to com.meinladen.test.Person
at com.meinladen.test.Yamltest.main(Yamltest.java:14)
-> Die java-version unter Linux ist:
Code:
java -version
java version "1.6.0_03"
Java(TM) SE Runtime Environment (build 1.6.0_03-b05)
Java HotSpot(TM) Client VM (build 1.6.0_03-b05, mixed mode, sharing)
-> Die unter Windows:
Code:
PS H:\> java -version
java version "1.6.0_02"
Java(TM) SE Runtime Environment (build 1.6.0_02-b06)
Java HotSpot(TM) Client VM (build 1.6.0_02-b06, mixed mode)
-> Ich verwende sowohl unter windows als auch Linux eclipse, beide verwenden auch die oben gezeigten JVMs.
-> Ich verwende sowohl unter windows als auch Linux den gleichen workspace, an anderen Bibliotheken usw. kann es also nicht liegen.
Ich bin völlig ratlos?
Woran kann das liegen?
Wie kann ich das weiter eingrenzen?