为了账号安全,请及时绑定邮箱和手机立即绑定

Smartsheet登录期间发生ClassNotFoundException

Smartsheet登录期间发生ClassNotFoundException

呼如林 2021-03-30 13:15:34
我正在尝试使用其api登录到智能表,但遇到由ClassNotFound异常引起的NoClassDefFoundError。import java.util.ArrayList;import java.util.Properties;import java.util.Set;import java.util.HashSet;import java.util.List;import java.io.InputStream;import java.io.FileInputStream;import com.smartsheet.api.Smartsheet;import com.smartsheet.api.SmartsheetFactory;import com.smartsheet.api.models.Cell;import com.smartsheet.api.models.Column;import com.smartsheet.api.models.Row;import com.smartsheet.api.models.Sheet;import com.smartsheet.api.models.PagedResult;import com.smartsheet.api.models.AutomationAction;import com.google.gson.Gson;import com.smartsheet.api.SmartsheetBuilder;public class Main {    //main method for our main class    public static void main(String args[]) throws Exception    {        /*line that throws error*/        Smartsheet ss = new SmartsheetBuilder().setAccessToken("myAccessToken").build();         // other parts of the program        return;    }}堆栈跟踪:    线程“主”中的异常java.lang.NoClassDefFoundError:     com / fasterxml / jackson / databind / JsonDeserializer        请访问com.smartsheet.api.internal.SmartsheetImpl。    (SmartsheetImpl.java:279)        在com.smartsheet.api.SmartsheetBuilder.build(SmartsheetBuilder.java:258)        在smartsheet.Main.main(Main.java:27)    造成原因:java.lang.ClassNotFoundException:     com.fasterxml.jackson.databind.JsonDeserializer        在java.net.URLClassLoader.findClass(未知来源)        在java.lang.ClassLoader.loadClass(未知来源)        在sun.misc.Launcher $ AppClassLoader.loadClass(未知来源)        在java.lang.ClassLoader.loadClass(未知来源)        ...另外3个是否有任何特定原因会引发此错误?我尝试按照他们的示例程序中的说明使用smartsheetfactory访问smartsheet,但是遇到了同样的错误。
查看完整描述

2 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

NoClassDefFoundError 当类在编译时存在但由于任何原因在运行时不可用时发生。

确实很难诊断和解决此问题,因为问题是在运行时类路径中的类文件不可用。您可以利用这些观点来解决NoClassDefFoundError

  1. 确保在类路径中是否有包含该类的类或jar。

  2. 如果在应用程序的类路径上可用,则很可能是类路径被覆盖。要解决此问题,您需要找到应用程序使用的确切类路径。

  3. 如果应用程序使用多个类加载器,则由一个类加载器加载的类可能无法由其他类加载器使用。

J2EE环境中NoClassDefFoundError即使存在该类,也可能会遇到一个问题,因为该类对于相应的类加载器而言是不可见的。


查看完整回答
反对 回复 2021-04-14
?
萧十郎

TA贡献1815条经验 获得超12个赞

我收到此错误的原因是因为我的构建中的API使用了错误的JAR文件。JsonSerializer类是一个依赖项,正确的JAR文件包括依赖项。


查看完整回答
反对 回复 2021-04-14
  • 2 回答
  • 0 关注
  • 333 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信