java - 无法调试 java.lang.NoClassDefFoundError : com/google/inject/internal/util/$Preconditions

标签 java file-upload openstack-swift jclouds

我正在尝试制作一个小程序,用于使用 jclouds 将文件上传到 openstack swift。 我面临着 NoClassDefFoundError,以下是堆栈跟踪:

Exception in thread "main" java.lang.NoClassDefFoundError: com/google/inject/internal/util/$Preconditions
    at org.nnsoft.guice.rocoto.configuration.ConfigurationModule.configure(ConfigurationModule.java:64)
    at com.google.inject.AbstractModule.configure(AbstractModule.java:59)
    at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:223)
    at com.google.inject.spi.Elements.getElements(Elements.java:101)
    at com.google.inject.spi.Elements.getElements(Elements.java:92)
    at org.nnsoft.guice.rocoto.Rocoto.expandVariables(Rocoto.java:52)
    at org.nnsoft.guice.rocoto.Rocoto.expandVariables(Rocoto.java:47)
    at org.jclouds.config.BindPropertiesToExpandedValues.configure(BindPropertiesToExpandedValues.java:47)
    at com.google.inject.AbstractModule.configure(AbstractModule.java:59)
    at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:223)
    at com.google.inject.spi.Elements.getElements(Elements.java:101)
    at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:133)
    at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:103)
    at com.google.inject.Guice.createInjector(Guice.java:95)
    at com.google.inject.Guice.createInjector(Guice.java:72)
    at com.google.inject.Guice.createInjector(Guice.java:62)
    at org.jclouds.ContextBuilder.expandProperties(ContextBuilder.java:385)
    at org.jclouds.ContextBuilder.buildInjector(ContextBuilder.java:320)
    at org.jclouds.ContextBuilder.buildView(ContextBuilder.java:620)
    at org.jclouds.ContextBuilder.buildView(ContextBuilder.java:600)
    at com.cdac.appletclass.Test.main(Test.java:56)
Caused by: java.lang.ClassNotFoundException: com.google.inject.internal.util.$Preconditions
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    ... 21 more

我在 google 上搜索了 com/google/inject/internal/util/$Preconditions,并了解到它是 guice-3.0.jar 的一部分。 但 guice-3.0.jar 已经存在于我的项目中。 那怎么调试呢?有什么帮助..???

最佳答案

我建议从应用程序中打印出类路径上的内容(请参阅 this answer )。这样您就可以准确地知道您的应用程序正在使用什么类路径,如果有任何丢失或任何冲突。

关于java - 无法调试 java.lang.NoClassDefFoundError : com/google/inject/internal/util/$Preconditions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20140959/

相关文章:

openstack-swift - Swift TempAuth 在 HEAD 帐户时返回 404

amazon-s3 - CEPH + S3 Java SDK + 预签名 PUT + CORS = 失败

java - 如何避免在java文件中硬编码字符串?

java - 有没有办法从 `org.testng.ITestResult` `ITestNGMethod` 转换为 `java.lang.reflect.Method`

javascript - 使用 javascript 弹出窗口在 PHP 中上传 Ajax 文件

php - iOS 8 PHP 文件上传错误(服务器文件大小 = 0)

node.js - 从 swift 容器下载时文件损坏

java - 在 JButton 之间共享状态

java - 在for循环中 try catch

c# - 如何在 ASP.net 中处理从桌面应用程序上传的文件?