我正在尝试使用其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
确保在类路径中是否有包含该类的类或jar。
如果在应用程序的类路径上可用,则很可能是类路径被覆盖。要解决此问题,您需要找到应用程序使用的确切类路径。
如果应用程序使用多个类加载器,则由一个类加载器加载的类可能无法由其他类加载器使用。
在J2EE环境中,NoClassDefFoundError
即使存在该类,也可能会遇到一个问题,因为该类对于相应的类加载器而言是不可见的。
添加回答
举报
0/150
提交
取消