2016-06-20 29 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文件。 –