我正在尝试制作连接到 Twitter 的 Web 应用程序。我试图从公共时间线 twitter 获取信息,我使用 twitter4j 库。
在执行 java 代码来检索信息时,它很好并且可以工作。但是,当我将该方法调用到 jsp 时,它会显示这一点。
SEVERE: Exception while loading the app
org.glassfish.deployment.common.DeploymentException: java.lang.NoClassDefFoundError: Lorg/apache/log/Logger;
at org.glassfish.weld.WeldDeployer.event(WeldDeployer.java:167)
at org.glassfish.kernel.event.EventsImpl.send(EventsImpl.java:125)
at org.glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.java:224)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:338)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:183)
...
任何人都可以帮助我为什么会收到此错误?我在谷歌上搜索它,但似乎找不到正确的解决方案:(。我的项目中没有发现错误。
我在添加 twitter4j 之前所做的: - 将 twitter4j 库添加到 Web 应用程序 -> 错误需要记录器,然后我添加了记录器库 - 然后出现关于 org.apache.avalon 的错误,在我添加库之后它显示此消息.
服务器:GLASSFISH V3 IDE:NETBEANS 6.9.1 JAVA EE 6
谢谢 :D
已经包含来自 andyb 答案的 org.apache.log.logger 但它会导致另一个错误
SEVERE: Exception while loading the app
org.glassfish.deployment.common.DeploymentException: java.lang.NoClassDefFoundError: com/sun/jdmk/comm/CommunicatorServer
at org.glassfish.weld.WeldDeployer.event(WeldDeployer.java:167)
at org.glassfish.kernel.event.EventsImpl.send(EventsImpl.java:125)
at org.glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.java:224)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:338)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:183)
at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:272)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:305)
我已经从这个 jar 中添加了 org.apache.log.logger http://www.findjar.com/jar/logkit/logkit/2.0/logkit-2.0.jar.html
那是正确的吗?
当我添加 jar 时出现更多错误,实际上将 twitter4j 添加到 glassfish v3 的正确方法是什么?我需要添加 andyb 提供的 POM.xml 吗?