2013-10-24 116 views
0

我無法在我的Tomcat 6上部署我的Grails 2.2.4應用程序。我嘗試過新安裝的tomcat,甚至是我的應用程序(之前運行的)的舊版本。無法在Tomcat上部署Grails應用程序6

這個異常在一分鐘後拋出。在tomcat啓動後:

INFO: Illegal access: this web application instance has been stopped already. Could not load org.apache.commons.pool.impl.CursorableLinkedList$Cursor. The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact. 
java.lang.IllegalStateException 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1600) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) 
    at org.apache.commons.pool.impl.CursorableLinkedList.cursor(CursorableLinkedList.java:305) 
    at org.apache.commons.pool.impl.GenericObjectPool.evict(GenericObjectPool.java:1536) 
    at org.apache.commons.pool.impl.GenericObjectPool$Evictor.run(GenericObjectPool.java:1749) 
    at java.util.TimerThread.mainLoop(Timer.java:512) 
    at java.util.TimerThread.run(Timer.java:462) 
Exception in thread "Timer-0" java.lang.NoClassDefFoundError: org/apache/commons/pool/impl/CursorableLinkedList$Cursor 
    at org.apache.commons.pool.impl.CursorableLinkedList.cursor(CursorableLinkedList.java:305) 
    at org.apache.commons.pool.impl.GenericObjectPool.evict(GenericObjectPool.java:1536) 
    at org.apache.commons.pool.impl.GenericObjectPool$Evictor.run(GenericObjectPool.java:1749) 
    at java.util.TimerThread.mainLoop(Timer.java:512) 
    at java.util.TimerThread.run(Timer.java:462) 
Caused by: java.lang.ClassNotFoundException: org.apache.commons.pool.impl.CursorableLinkedList$Cursor 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) 
    ... 5 more 
Oct 24, 2013 8:34:55 PM org.apache.catalina.loader.WebappClassLoader loadClass 
INFO: Illegal access: this web application instance has been stopped already. Could not load net.sf.ehcache.store.compound.CompoundStore$KeySet. The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact. 
java.lang.IllegalStateException 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1600) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) 
    at net.sf.ehcache.store.compound.CompoundStore.keySet(CompoundStore.java:216) 
    at net.sf.ehcache.store.compound.factories.DiskStorageFactory$DiskExpiryTask.run(DiskStorageFactory.java:670) 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) 
    at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317) 
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150) 
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98) 
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180) 
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
    at java.lang.Thread.run(Thread.java:662) 

我真的不知道從哪裏開始修復它。 : -/

回答

-1

您應該將commons-pool-1.4.jar添加到您的應用程序runtime範圍內。
添加

grails.project.dependency.resolution = { 
    // ... 
    dependencies { 
     // ... 
     runtime 'commons-pool:commons-pool:1.4' 
    } 
    // ... 
} 

到項目文件grails-app/conf/BuildConfig.groovy

閱讀更多Grails: Dependency Resolution

+0

這並沒有幫助。無論如何,當我運行dependency-report命令時,我發現我的項目中存在這種依賴關係。它可能是服務器上的文件權限或我在項目中使用的Grails遷移或Quartz作業?我真的不知道從哪裏開始...... – kuceram

+0

@ user607038觀察你的grails應用程序('war'文件)。你在lib文件夾中有'commons-pool'嗎? – Ilya

+0

在那裏,最奇怪的是,應用程序運行在同一臺機器的不同tomcat上。我認爲這可能是一些許可問題... – kuceram

相關問題