2016-06-20 28 views
0

不知道如何解决此问题。我已经在Ant的build.xml下声明了所有必需的jar,并将其添加到应用程序的类路径中。Glassfish:NoClassDefFoundError部署应用程序时

ERROR ContextLoader     - Context initialization failed 
java.lang.NoClassDefFoundError: com/google/api/client/json/JsonFactory 
    at java.lang.Class.getDeclaredConstructors0(Native Method) 
    at java.lang.Class.privateGetDeclaredConstructors(Class.java:2585) 
    at java.lang.Class.getDeclaredConstructors(Class.java:1906) 
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(AutowiredAnnotationBeanPostProcessor.java:229) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineConstructorsFromBeanPostProcessors(AbstractAutowireCapableBeanFactory.java:962) 

Caused by: java.lang.ClassNotFoundException: com.google.api.client.json.JsonFactory 
    at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1761) 

在build.xml中找不到任何特定的编译时或运行时设置?将运行时瓶子移动到${GLASSFISH_HOME}/modules/文件夹

+0

请问您可以添加您的ant构建脚本?也许你有glassfish范围,所以它不是在你的应用程序的最终版本中可见的? – Jezor

+0

我有一个巨大的蚂蚁文件。它不可能粘贴在这里。 –

+0

您可以随时使用外部网站,如[pastebin](http://pastebin.com/)。 – Jezor

回答

1

将在运行时的类定义不可用时抛出NoClassDefFoundError是否有意义。此错误还表示类的定义是在编译应用程序期间发现的,但它在运行时在应用程序的类路径中不可用

查找编译时和运行时类路径的差异。

+0

我有同样的感觉。我如何找到build.xml的哪一部分导致问题。我来自Maven/Gradle世界,是Ant的新手。 –

+0

请参考以下链接:https://ant.apache.org/manual/using.html – Seeker

+0

感谢您的联系。我正在为现有项目添加一项新功能。他们已经有了一切设置。不确定如何调试现有的build.xml文件。 –