Java 是否有人使用SnakeYAML从本地Maven repo成功加载YAML文件?
如果我直接从测试程序中引用jar(见下图),那么一切都正常。如果我在Maven创建的项目中,我将从单元测试中获得以下输出:Java 是否有人使用SnakeYAML从本地Maven repo成功加载YAML文件?,java,maven-2,yaml,snakeyaml,Java,Maven 2,Yaml,Snakeyaml,如果我直接从测试程序中引用jar(见下图),那么一切都正常。如果我在Maven创建的项目中,我将从单元测试中获得以下输出: java.lang.NoSuchMethodError: java.util.LinkedList.push(Ljava/lang/Object;)V at org.yaml.snakeyaml.scanner.ScannerImpl.addIndent(ScannerImpl.java:482) at org.yaml.snakeyaml.scanner.
java.lang.NoSuchMethodError: java.util.LinkedList.push(Ljava/lang/Object;)V
at org.yaml.snakeyaml.scanner.ScannerImpl.addIndent(ScannerImpl.java:482)
at org.yaml.snakeyaml.scanner.ScannerImpl.fetchBlockEntry(ScannerImpl.java:653)
at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:268)
at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:178)
at org.yaml.snakeyaml.parser.ParserImpl$ParseImplicitDocumentStart.produce(ParserImpl.java:213)
at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:172)
at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:143)
at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:163)
at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:66)
at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:60)
at org.yaml.snakeyaml.Loader.load(Loader.java:35)
at org.yaml.snakeyaml.Yaml.load(Yaml.java:134)
由于Maven在中央回购协议中找不到SnakeYAML,我手动将其安装到本地回购协议中。如果有关系,我在Mac上使用SnakeYAML 0.9和Maven 2.0.9
示例YAML文件
-
accountCode: foo
accountId: 1
email: foo@bar.com
userId: 1
工作测试程序
import java.io.*;
import java.util.*;
import org.yaml.snakeyaml.Yaml;
/**
* Testing SnakeYAML.
*
* @author Hank Gay
*/
public final class Foo {
public static void main(final String[] args) throws Exception {
final Yaml yaml = new Yaml();
Reader reader = null;
try {
reader = new FileReader("/tmp/foo.yaml");
System.out.println(yaml.load(reader));
} catch (final FileNotFoundException fnfe) {
System.err.println("We had a problem reading the YAML from the file because we couldn't find the file." + fnfe);
} finally {
if (null != reader) {
try {
reader.close();
} catch (final IOException ioe) {
System.err.println("We got the following exception trying to clean up the reader: " + ioe);
}
}
}
}
}
似乎是JDK版本的问题:
LinkedList#push
was
在运行Maven之前,请尝试将JAVA#u HOME设置为正确的版本。似乎是JDK版本的问题:
LinkedList#push
was
在运行Maven之前,请尝试将JAVA\u HOME设置为正确的版本。已在1.0rc1版中修复
所有Java 6依赖项都将从SnakeYAML中删除。已在1.0rc1版中修复
所有Java 6依赖项都将从SnakeYAML中删除。谢谢
java-version
显示为1.6,但是mvn-version
显示我在$java_HOME中引用了错误的JDK。谢谢java-version
显示为1.6,但mvn-version
显示我在$java_HOME中引用了错误的JDK。是否有一些文档需要添加到POM中以获得SnakeYAML下载?我只是手工安装了JAR,还没有远程存储库。一旦SNNKYAML达到1.0,它将被上传到某个地方。SnakeYAML 1.0发布。可以在这里找到远程MAven 2存储库:是否有一些文档需要添加到POM中以下载SnakeYAML?我只是手工安装了JAR,还没有远程存储库。一旦SNNKYAML达到1.0,它将被上传到某个地方。SnakeYAML 1.0发布。可以在以下位置找到远程MAven 2存储库: