2013-10-24 94 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

相关问题