当前位置: 首页 > 面试题库 >

Guice 2.0的ClassNotFoundException

彭朝
2023-03-14
问题内容

下面的代码使用Guice 2.0产生错误。使用Guice 1.0,一切都很好。JDK是Java 6更新15。

public class App {
    public static void main(String[] args) {
        Guice.createInjector(new AbstractModule() {
            @Override
            protected void configure() {
                // just testing 
            }
        });
    }
}

错误是:

Exception in thread "main" java.lang.NoClassDefFoundError: [Lorg/aopalliance/intercept/MethodInterceptor;
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
    at java.lang.Class.getDeclaredMethods(Class.java:1791)
    at com.google.inject.internal.ProviderMethodsModule.getProviderMethods(ProviderMethodsModule.java:78)
    at com.google.inject.internal.ProviderMethodsModule.configure(ProviderMethodsModule.java:70)
    at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:223)
    at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:232)
    at com.google.inject.spi.Elements.getElements(Elements.java:101)
    at com.google.inject.InjectorShell$Builder.build(InjectorShell.java:135)
    at com.google.inject.InjectorBuilder.build(InjectorBuilder.java:102)
    at com.google.inject.Guice.createInjector(Guice.java:92)
    at com.google.inject.Guice.createInjector(Guice.java:69)
    at com.google.inject.Guice.createInjector(Guice.java:59)
    at App.main(App.java:6)
Caused by: java.lang.ClassNotFoundException: org.aopalliance.intercept.MethodInterceptor
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
    ... 14 more

可能是什么问题?


问题答案:

您错过了在类路径中将依赖项jar包含在类org.aopalliance.intercept.MethodInterceptor中的情况。



 类似资料:
  • 我正在尝试将mopub添加到我的应用程序中。我通过AndroidStudio插件安装了sdk。并将其添加到我的xml中 在com.example.hroshandel.myapplication.simpleintro_fragmentactivity.oncreate(Simpleintro_fragmentactivity.java:20) 由:java.lang.ClassNotFoundE

  • 问题内容: 我正在使用与SQLServer JDBC驱动程序捆绑在一起的示例应用程序。我正在运行Ubuntu 14.10。我在命令行上编译应用程序: 并运行它: 这让我很熟悉: 我还没有修改示例类文件,但是为了完整起见,这里将其包括在内: SQL JDBC .jar的路径绝对正确。如果我将其添加到类文件中,则在编译时不会有任何抱怨,但在运行时仍然会收到抱怨。 我在其他地方读过,较新版本的JDBC不

  • 我正在完成这个关于SpringBean范围的教程。我手工设置所有东西,然后用maven打包。这是我的项目结构: 你好orld.java: 主应用。爪哇: 豆。xml: 波姆。xml: 然后我像这样运行罐子: 获取以下日志: 你能告诉我,我做错了什么吗?

  • 我正在使用Hadoop mapreduce编写代码来获取不同长度的子字符串。示例给出了字符串“ZYXCBA”和长度3。我的代码必须返回所有可能的字符串,长度为3(“ZYX”、“YXC”、“XCB”、“CBA”),长度为4(“ZYXC”、“YXCB”、“XCBA”),最后返回长度为5(“ZYXCB”、“YXCBA”)。 在map阶段,我做了以下工作: key=我想要的子字符串的长度 value=“Z

  • 问题内容: 我使用Java开发Web应用程序。当我将其部署到我的应用程序服务器(Jetty,Tomcat,JBoss,GlassFish等)时,将引发错误。我可以在stacktrace中看到此错误消息: 要么 这是什么意思,我该如何解决? 问题答案: 这是什么意思? 首先,让我们看一下: 当应用程序尝试使用其字符串名称通过其字符串名称加载类时抛出: 课堂教学中的方法。 课堂教学中的方法。 课堂教学