我有一个已经工作了几年的程序,但现在因为一个jackson.core错误而不能工作了,我想不通为什么会抛出这个错误。
抛出该错误的代码块(最后一行):
//Build inputstream
if(yearDirCheck == true && monthDirCheck == true){
//The folder already exists, upload the file directly
try (InputStream in = new FileInputStream(docname)) {
FileMetadata metadata = client.files().uploadBuilder(path + "/" + jaar + "/"+ maand +"/" + docname)
.uploadAndFinish(in);
}
catch (IOException ex) {
Logger.getLogger(maakPDF.class.getName()).log(Level.SEVERE, null, ex);
}
mail.verzendOverurenKaart(Technician, client.sharing().createSharedLinkWithSettings(path + "/" + jaar + "/"+ maand +"/" + docname).getUrl());
}
我得到的错误是:我使用的是jackson-core-2.6.1库和java中的dorpbox v2 core api。
Exception in thread "AWT-EventQueue-0" java.lang.NoSuchMethodError: 'void com.fasterxml.jackson.core.JsonParseException.<init>(com.fasterxml.jackson.core.JsonParser, java.lang.String)'
at com.dropbox.core.stone.StoneSerializer.expectEndObject(StoneSerializer.java:98)
at com.dropbox.core.v2.sharing.LinkPermissions$Serializer.deserialize(LinkPermissions.java:310)
at com.dropbox.core.v2.sharing.LinkPermissions$Serializer.deserialize(LinkPermissions.java:242)
at com.dropbox.core.stone.StructSerializer.deserialize(StructSerializer.java:21)
at com.dropbox.core.v2.sharing.FileLinkMetadata$Serializer.deserialize(FileLinkMetadata.java:455)
at com.dropbox.core.v2.sharing.SharedLinkMetadata$Serializer.deserialize(SharedLinkMetadata.java:494)
at com.dropbox.core.v2.sharing.SharedLinkMetadata$Serializer.deserialize(SharedLinkMetadata.java:381)
at com.dropbox.core.stone.StructSerializer.deserialize(StructSerializer.java:21)
at com.dropbox.core.stone.StoneSerializer.deserialize(StoneSerializer.java:66)
at com.dropbox.core.v2.DbxRawClientV2$1.execute(DbxRawClientV2.java:103)
at com.dropbox.core.v2.DbxRawClientV2.executeRetriable(DbxRawClientV2.java:252)
at com.dropbox.core.v2.DbxRawClientV2.rpcStyle(DbxRawClientV2.java:97)
我使用的是jackson-core -2.6.1库,也就是java中的dorpbox v2 core api。没有使用maven或gradle或任何东西。
如果你检查你的libs,你有两个 jackson-core
的依赖关系。2.6.1和2.7.4.通常这种异常与依赖冲突有关,所以去掉一个应该可以解决。